09 2010 档案
摘要:软件道路:第一步: bootloader的编写、修改,通过这步熟悉ARM硬件结构,学习ARM汇编语言,阅读ARM的芯片手册,感觉就是像操作51单片机一样操作ARM芯片。这一步最好的两个参考资料就是:芯片手册和bootloader源代码。第二步: 系统移植,驱动开发,推荐学习嵌入式linux系统,作为标准体系,它开源而且可以获得大量学习资料。操作系统是整个计算机科学的核心,熟悉kernel实属不...
阅读全文
摘要:一般的可执行程序都包括代码段、数据段。也可以简单的看作由两部分组成:RO段和RW段。RO段一般包括代码段和一些常量,在运行的时候是只读的。而RW段包括一些全局变量和静态变量,在运行的时候是可以改变的(读写)。如果有部分全局变量被初始化为零,则RW段里还包括了ZI段。RO: Read Only 代码段RW: Read Write 已初始化的全局变量ZI: Zero Init 未初始化的全局变量 因为...
阅读全文
摘要:有如下分散加载文件:ROM_LOAD 0x00000000 ;// Origination Point of Code (Code in Flash){ ROM_EXEC 0x00000000 ;// Origination Point of Executing { Startup.o (vectors, +First) * (+RO) } IRAM 0x40000040 ;// Origination Point of Internal SRAM { ;// 0x40000000 ~ 0x4000003F for Vector Startup.o (MyStacks) } STACKS_BO
阅读全文
摘要:;转载请写明作者及出处-木瓜-和讯;总共三个分散加载文件mem_a.scf,mem_b.scf,mem_c.scf,区别是加载地址不一样;具体加载哪个,在DebugInExram->ARM Linker->Scatter定义,链接类型选择Scattered;image entry point一定要跟ROM_LOAD值一样;ROM_LOAD 为加载区的名称,其后面的0x00000000 ...
阅读全文