当你的eLua开发板上电时会发生下面的事情:
- 平台初始化代码被执行。这些代码做一些低档次的启动工作,复制ROM到RAM,清空BSS区域,设置堆栈指针然后跳转到main函数。
- main函数做的第一件事情就是调用特定平台的初始化函数(platform_int),此函数必须完全初始化平台然后返回一个值。这个值可以是PLATFORM_OK如果调用初始化成功的话,失败的话会返回PLATFORM_ERR。如果返回PLATFORM_ERR,main函数会进入一个死循环。
- 然后初始化剩下的系统,ROM文件系统,XMODEM等。
- 如果 /rom/autorun.lua(一个在ROM文件系统的Lua文件)存在的话,此文件会被执行,当执行后返回,或者找不到此文件的话,那么启动过程会进入下一步。
- 如果启动被设置成标准的而且shell被编译进镜像文件的话,它会启动,缺少shell时,一个标准的Lua解释器会开始启动。
- 如果启动被设置成“luarpc”,一个rpc服务器将会开始运行。
水平有限,如有错误,给出指正。