亚嵌教育内部培训资料_-_myboot项目框架设计

亚嵌教育内部培训资料_-_myboot项目框架设计

ID:46919909

大小:436.50 KB

页数:21页

时间:2019-11-30

亚嵌教育内部培训资料_-_myboot项目框架设计_第1页
亚嵌教育内部培训资料_-_myboot项目框架设计_第2页
亚嵌教育内部培训资料_-_myboot项目框架设计_第3页
亚嵌教育内部培训资料_-_myboot项目框架设计_第4页
亚嵌教育内部培训资料_-_myboot项目框架设计_第5页
资源描述:

《亚嵌教育内部培训资料_-_myboot项目框架设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构1myboot项目框架设计课程编号:3101北京亚嵌教育研究中心©2010AKAE北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构2学习安排项目概述文件结构布局初始化流程技术难点makefile应用参考代码北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构3Section1项目概述北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构4功能需求开机自启动启动提示硬件初始化软件初始化Shell支持串口下载binFlash烧写启动自加载外设测试

2、LEDBEEPDIPSEG7KEY北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构5程序流程北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构6Section2文件布局北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构7项目文件布局(参考)文件描述Startup.s程序入口/初始化代码-asm/设堆栈/禁中断/跳入C代码Main.c初始化代码-C/延时等待/程序主循环/命令分派Libc.c常用c函数移植(printf,gets,puts,getchar,putchar等)Commands.c命

3、令实现(help,down,go,nand,etc.)Peripherals.c外设控制函数库(led,beep,seg7,dip,uart,etc…)Nand.c闪存读写操作函数X-modem.cX-modem协议实现函数Makefile/Readme工程管理/说明文档北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构8Section3初始化流程北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机C9初始化流程(asm)屏蔽中断LED提示(关闭BEEP)设置时钟——MCLK/HCLK/PCLK关闭看门狗初

4、始化C环境(设置堆栈指针,RW段搬移,ZI段初始化)跳转至C北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构10初始化流程(C)初始化UART—开始系统输出初始化SDRAM–并自检初始化NAND–并自检(*)用户等待自动加载<<-->>进入shell循环北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构11Section4技术难点北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构12技术难点—命令分派命令分派——函数指针数组void*commands[cmd_nums][2];char*str

5、=(char*)commands[0][0];void(*)(void)cmd=(void(*)(void))commands[0][1];if(strnicmp(str,”go”,strlen(str)==0)){cmd();}参数怎么办?北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构13技术难点—命令分派2命令分派——switch…case….指派命令号由统一函数处理intcommands(intcmdid,intargc,char*argv[]);北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训

6、机构14技术难点—变参实现my_printf(char*format,…)va_list,va_arg,va_end#include见参考代码北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构15技术难点—flash启动RO-BASE=0x0不想搬移RO和RW段:code_size+rw_size<4K不想搬移RO段:code_size<4K生成bin烧写烧写工具烧写到nand-flash0x0处北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构16技术难点—flash启动加载地址和

7、执行地址

8、Image$$RO$$Limit

9、

10、Image$$RW$$Base

11、

12、Image$$ZI$$Base

13、北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构17技术难点—堆栈指针栈方向取决于硬件和c编译器可编程确定或通过JTAG观察其他模式(用到C)都要设置

14、北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构18技术难点—不要main()避免_main()等自动代码为减少代码尺寸,可避免使用标准C库函数北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构19Section5命令行工具北京亚嵌

15、教育研究中心(AKAE)-专业的嵌入式技术培训机构20命令行编译工具armccarmlinkfromelfmakemakefile北京亚嵌教育研究中心(AKAE)-专业的嵌入式技术培训机构21参考代码优秀学员代码U-boot代码其他

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。