By default, Romimage.exe does not include the profiler structure and symbols in the run-time image. 什么是profiler structure?查看*.map后觉得这应该是调试用的一些信息,相当于gcc -g,具体看*.map的内容。see PROFILE
sources里某些选项的作用?搜索相关字就可以找到,sources里的一切应该都是一些环境变量,提供给通用的Makefile.def生成自己的Makefile,然后编译出自己的文件。这样说来在整个过程中每次编译一个模块都应该会调用batch的setlocal命令来添加局部变量,以便退出后自动取消,自己猜的,不是很确定
config.bib的37~53行分了是否烧Flash的情况,可以看到当有烧时RAM的空间大了,这应该是说有烧时系统就直接在Flash下跑,而所有可以改写的变量等在运行时放到RAM中,具体放到哪呢?The RAM entry tells the ROM Image Tool (Romimage.exe) to place any executables, modules, data files, and compressed sections in this region. 详见MEMORY Section中的RAMIMAGE。When Romimage executes, all noncompressed executable code is fixed up to run at a virtual address in slot 0, which is an address space created by the kernel, while the actual code is located in the region specified in the RAM entry.In the MEMORY section, you can also specify a memory region that is not filled with run-time image data. This memory region uses the memory name RESERVE and specifies no memory type name. useful for implementing OEM diagnostics
似乎所有的bib文件到最后会合成一个ce.bib,里面包含所有的文件,%MYPROJECT%\RelDir\ARMLand_ARMV4I_Debug\下的bib可以看到ce.bib差不多是其它文件大小的总和,但是这文件怎么生成?
The following process describes the flow of control with BLCOMMON infrastructure:
1、During the hardware platform boot process, the startup code in the OEM adaptation layer (OAL) calls the hardware platform-independent BootloaderMain function.
2、BootloaderMain initializes the hardware platform, chooses the download transport, and then initializes the download transport by calling a set of control flow functions.
3、The boot loader starts downloading the image to the target device using a set of download and flash functions. During the download process, the boot loader might implement functions to show download progress.
4、When the download is complete, the boot loader boots the OS by calling the OEMLaunch function, which jumps to the OS entry point.
BL中需要实现的程序一般在HELP中会有举例,比如:搜索Implementing the OEMLaunch Function可以找到OEMLaunch的实现。