Motorola微处理器bootloader分析应用是什么?
引言bootloader是用来完成系统启动和系统软件加载工作的程序。它是底层硬件和上层应用软件之间的一个中间件软件,完成处理器和周边电路正常运行所要的初始化工作;可以屏蔽底层硬件的差异,使上层应用软件的编写和移植更加方便;不仅具有类似PC机上常用的BIOS(Basic Input Output System,基本输入、输出系统监控程序)功能,而且还可具有一定的调试功能。 目前,在嵌入式系统开发中有多种bootloader可供选择,其中Motorola公司的名为dBUG的bootloader比较优秀。它可以移植在Motorola MC68000、ColdFire和PowerPC系列所有微处理器上面,有强大的调试功能,支持单步、下载、网络更新等;其良好的软件架构使用户能很方便地修改其代码,扩展新的功能。 本文以作者用于网络数据存储的coldfire5307C3开发板为例,简析其上的dBUG bootloader的结构和运行机制,并给出实际修改范例。
一、bootloader源码结构
1、bootloader的文件组织
dBUG bootloader源代码可以从Motorola公司网站获得。 它是一个范例程序,通过修改相应的配置文件和处理器相关文件,可以很方便地移植到不同的处理器系统上。其源码由两个部分组成,一部分是lib项目,另外一部分是每种Motorola微处理器单独的处理器项目。比如,ColdFire 5307就使用MCF5307C3项目和lib项目一起来生成最终的dBUG代码。 其中lib项目中是与处理器无关的一些命令或者函数,而每个单独的处理器项目是和每种不同的处理器息息相关的。在编译的时候,首先需要将lib项目编译生成标准库函数(也就是将一些通用命令和函数先封装起来)。然后,编译MCF5307C3项目,就会将刚才编译的lib项目和MCF5307C3项目结合在一起生成最终代码。
整个dBUG bootloader代码的架构比较复杂,其源码按功能可分为3个模块[1]:User Interface Component、CPU-specific Component、Board-specific Component。用户进入dBUG的目录以后,会看到三个子目录,如图1所示[1,2]。 图1 dBUG源码树
① 第一个目录是bin目录,在该目录下面主要是一个简单的TFTP Server软件。TFTP是简单的FTP(文件传输协议)。它是基于UDP协议的,主要用来下载程序目标代码。
② 第二个目录是prog目录,下面主要是lib项目和MCF5307C3项目的项目组织文件和一部分源代码。 在prog目录下面的libdbug目录下,有lib项目的项目管理文件libdbug。mcp,使用CodeWarrior可以打开该项目文件和编译等。prog目录下面的M5307C3目录下是ColdFire 5307系统的项目文件,而该目录下的obj目录下是生成的dBUG目标代码。 src目录下是5307项目的项目管理文件。用户可以使用CodeWarrior,打开M5307C3目录下的/src/dbug/mwerks/m5307c3。mcp项目管理文件来编译代码。
③ 第三个目录是src目录,是dBUG的主要源代码。
综上所述,用户只要打开m5307c3。mcp和libdbug。mcp两个项目文件,即可以看到dBUG所有的源代码。
2、与处理器和外围硬件配置相关的文件
① 入口文件:vector。s。
存有处理器复位初始入口地址、跳转指令及中断矢量表。
② 初始化汇编语言文件:mcfxxxx_lo。s。
功能为预初始化处理器、调用初始化函数及跳转到main主函数。其中xxxx表示某特定的处理器型号,如5307。
③ 初始化C语言文件:Sysinit。c。
内含多个初始化函数,功能为初始化处理器及各底层硬件。
④ 系统配置文件:Config。h和Board。h 。
Config。h
设定板上处理器类型和其它模块功能。
Board。h
设定板上各参数信息,如片外Flash和SDRAM大小、类型、数据宽度和地址范围、划分板上内存空间范围、系统时钟大小、系统总线速率以及一些其它要用到的系统常量。
⑤ 连接配置文件:Flash。lcf。
设定连接时各函数空间地址及内存分配。
⑥ 预包含头文件:mxxxx_mwerks。h和mwerks。h。
两函数被所有的C语言和汇编语言函数包含,它们设定CodeWarrior 预处理器所用到的常量和编译器编译选项。
本文地址:http://vmwizqzk.55jiaoyu.com/show-697865.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
推荐文档
- 11.2023沧州正业涉外旅游职业技术学校简介(学校简介/学校怎么样)
- 12.鸡兔同笼题10道及答案
- 13.武汉体育学院体育科技学院排名(最新)
- 14.fairy是什么意思
- 15.土耳其是那里(土耳其那里打仗了吗去的话安全吗)
- 16.吴江宾馆(吴江宾馆是几星级酒店)
- 17.沸石为什么能防止暴沸
- 18.中公教育专升本培训班价格表(中公教育专升本好不好)
- 19.井冈山大学教务处,jwc.jgsu.edu.cn
- 20.握手的作文600字10篇(握手***作文600字初中)
- 21.C2H6O:C2H6O2是什么,结构简式是什么,有哪些性质
- 22.美中不足代表什么生肖(美中不足是什么动物有哪几肖)
- 23.语文试题(语文试题新高考卷2023)
- 24.安徽理科考生600分能考上华中师范大学公共管理类专业吗?
- 25.湖北师范大学文理学院往年艺术类学费多少钱一年?附各专业收费标准
- 26.往年曲面屏手机十大品牌排行榜-曲面屏手机哪个牌子好
- 27.高铁职业技术学院(高铁职业技术学院那个专业***)
- 28.2022北京冬奥会口号是什么(2022北京冬奥会口号是什么意思)
- 29.长春师范大学是几本,一本还是二本
- 30.古人婚礼在什么时间预测举行,古人婚礼一般在什么时候举行
- 31.身份证查四级准考证(用身份证怎么查四级英语准考证号)
- 32.忆秦娥,娄山关(忆秦娥娄山关中的忆秦娥是词的什么)
- 33.准格尔旗世纪中学(准格尔旗世纪中学往年高考喜报)
- 34.保定市除了一中三中以外,哪所高中相对比较好点?
- 35.温州医科大学(温州医科大学录取分数线预测2022)
- 36.先中间后两边的字(文次找平办让包哪个是先中间后两边的字)
- 37.广州中学排名(广州中学排名前100名)
- 38.故人是什么意思;一个故人是什么意思
- 39.雅人四好指的是什么
- 40.小馒头蒸多长时间预测(小馒头蒸多长时间预测可以熟)
- 41.松原大学(松原大学录取分数线预测2023)
- 42.适合家长教育孩子的十本书籍(适合家长教育孩子的十本书籍电子版)
- 43.仲浦先生是谁(仲浦先生是谁扮演的)
- 44.工会经费应税收入怎么计算(工会经费应税项是工资总额还是40%)
- 45.化学生物地理报考985-化学生物地理就业方向
- 46.失聪是什么意思(失聪是什么意思解释一下)
- 47.英雄人物的故事(英雄人物的故事200字左右)
- 48.芒果干吃了会胖吗(芒果干吃了会胖吗会长胖吗)
- 49.警官学校(警官学校和警察学校有什么区别)
- 50.香港大学排名(香港大学排名分析:哪家高校称霸榜首?)
- 51.赏罚分明成语释义及造句
- 52.会考成绩查询网站(2023高会考试成绩查询时间预测)
- 53.四字励志成语(必备8篇)(四字励志成语大全集1000个)
- 54.湖北大学认可度高吗?湖北大学值得上吗?
- 55.viewpoint是什么意思viewpoint的翻译(view是什么意思英文翻译)
- 56.砖的组词有哪些(砖的组词和部首是什么)
- 57.暑假评语家长如何写
- 58.ISSS是什么意思ISSS是什么英文的缩写(isss是什么意思isss是什么英文的缩写)
- 59.龙岩学校(龙岩学院正方教务管理系统入口)
- 60.新疆伊宁市三中(伊宁市三中分校公示)
- 51.京州市规划图是哪里,含京州国际产业园等
- 52.欢迎登录丨前程无忧,51招聘网
- 53.国家政策查询上白鹿,白鹿智库
- 54.野草诗社五院《百花园集》,百花香手机铃声免费下载
- 55.中广核待遇,中广核待遇怎么样
- 56.联发科MT8127刷机包,8寸IPS屏导航四核酷比魔方U27GT
- 57.黄骅第四中学电话号码是多少,走进黄骅市第四中学
- 58.华电邵武电厂工资多少,福建华电邵武电厂工资
- 59.高尔夫6手刹开关怎么拆(高尔夫6手刹开关怎么拆开)
- 60.4月1号天津限行尾号
- 61.辅机间是什么意思,汽机各辅机的作用
- 62.设备计划检修必须得到什么的批准,特种设备安全及操作人员相关问题
- 63.麻窝水电站附近有什么好处,及时了解火灾灾情
- 64.莱芜城发广场建什么,城发广场开幕在即
- 65.?负忧?三官计生办在哪里,三官街道扎实开展人口计生工作
- 66.破碎物资一天能捐多少钱,到底要砸多少钱
- 67.多少目能过滤蓝藻,做好这些杜绝蓝藻
- 68.北张家园怎么样,小区隔离封闭怎么办
- 69.万源大唐在哪里,大唐盛世的爱情之道
- 70.漳浦哪里纳入圆山新城,构建创新经济中心

