uCosII在AM1808上的移植.doc.doc
文本预览下载声明
uCosII在AM1808上的移植
准备用AM1808做一个轻量级的应用,就想到了uCOS-II操作系统,之前使用过该操作系统都是利用别人移植好的工程,顶多就是做一些简单的修改,这次觉得uCOS-II自己也用过很多了,还没有移植过一回,正好趁此机会深入了解一下。网上找了一个uCOS-II在ATMEL的ARM9上移植的版本,版本号是V2.88。决定就从它开始了。后面称之为uC-SAM9263
使用的硬件开发板是国产的hawk板子,使用串口连接,用sfh_omap-l138.exe烧写程序到NAND Flash中。开发环境使用CCS5。使用StarterWare提供的bootloader程序引导系统,在bootloader中,已经配置好了系统参数,所以ucosII就不用再对系统进行初始化。
第一步:建立工程,File-New-CCS Project,输入工程名,选择器件,再选择一个空的工程。如下图所示:
完成后产生一个空的工程在工程浏览栏,如下图所示:
第二步:根据StarterWare中提供的例子,修改AM1808.cmd文件:如下所示:
-stack 0x8000 /* SOFTWARE STACK SIZE */
-heap 0x4000 /* HEAP AREA SIZE */
-e Entry
MEMORY
{
EMIFACS0: o = 0 l = 0/* 512MB SDRAM Data (CS0)*/
EMIFACS2: o = 0 l = 0/* 32MB Async Data (CS2) */
EMIFACS3: o = 0 l = 0/* 32MB Async Data (CS3) */
EMIFACS4: o = 0 l = 0/* 32MB Async Data (CS4) */
EMIFACS5: o = 0 l = 0/* 32MB Async Data (CS5) */
SHRAM: o = 0 l = 0/* 128kB Shared RAM */
DDR_MEM : org = 0xC1080000 len = 0x2F7FFFF /* RAM */
ARMROM: o = 0xFFFD0000 l = 0/* 64kB ARM local ROM */
ARMRAM: o = 0xFFFF0000 l = 0/* 8kB ARM local RAM */
}
SECTIONS
{
.init : {
system_config.libinit.obj (.text)
} load 0xC1080000
.text : load DDR_MEM /* CODE */
.data : load DDR_MEM
.bss : load DDR_MEM /* GLOBAL STATIC VARS */
RUN_START(bss_start),
RUN_END(bss_end)
.binit DDR_MEM
.init_array DDR_MEM
.args DDR_MEM
.neardata DDR_MEM
.fardata DDR_MEM
.rodata DDR_MEM
.const : load DDR_MEM /* SOFTWARE SYSTEM STACK */
.cinit : load DDR_MEM /* SOFTWARE SYSTEM STACK */
.stack : load 0xC3FF7FFC /* SOFTWARE S
显示全部