ADS1.2中__main()作为c语言的入口函数,它主要做了以下工作: 1.把RO,RW从他们的加载域复制到他们的运行域中去(可以用在LINKER中设置RO=,RW=,来确定,也可以用scatter文件来定义) 2.初始化ZI域 3.跳到__rt_entry. 而库函数__rt_entry()会完成以下工作: 1.调用__rt_stackheap_init()设置stack和heap 2.调用__rt_lib_init()初始化相应的库函数, 3.调用main(),即是我们自己的应用程序了 4.调用exit()来处理main()函数的返回值 从上面我们可以看到 __main()运行时库主要是初始化一些东西,然后跳到用户的main()中去,所以我们不用__main()函数初始化运行环境的时候,要自己编写相应的代码来完成相应的内容,下面以一个例子来说明。 为了完成RO,RW段的复制,和初始化ZI域.