- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于AM335x的-BootSPL的CCS调试
基于AM335x的U-Boot/SPL的CCS 调试在基于Linux的AM335x软件开发流程中,第一步就是U-Boot/SPL(Second Program Loader)的移植。在移植中遇到问题比较常见,而U-Boot/SPL的调试手段比较简陋,不便于迅速找到问题。利用仿真器可以单步调试的特点,就可以迅速定位到出问题的代码所在位置,加速移植的调试过程。本文主要介绍如何用CCS+emulator调试基于AM335x的U-Boot/SPL。AM335x Linux启动过程以及U-Boot/SPL调试代码的准备1.1 AM335x Linux的启动过程AM335x Linux的启动主要包括ROM,SPL,U-Boot和kernel四个启动步骤:ROM codeROM code是固化在芯片内部的代码,当上电时序正确,而且晶振等芯片启动所需的条件都具备时,AM335x会从ROM code开始运行。ROM code首先会读取sys_boot引脚上的配置,以确定存放SPL的存储器,或者可以获取SPL的外设。具体可以参考AM335x technical reference manual中的第26章 Initialization。ROM code会从相应的地方读取/获取SPL,并运行SPL。SPLSPL和U-Boot是bootloader的两个阶段。这里分为两个阶段的原因是, ROM code中不会配置DDR,时钟等最小系统,所以ROM code只能把bootloader加载到片上SRAM中,而片上SRAM对成本影响很大,所以通常很小,例如在AM335x上只有64K,不足够放下整个U-Boot,所以将U-Boot分成两部分,SPL和U-Boot。SPL主要的职责就是初始化DDR,时钟等最小系统,以读取U-Boot,并加载到DDR中。具体来看,SPL 由ROM code加载到片上SRAM的起始位置,也就是0x402F0400。SPL会进一步对芯片进行配置,主要包括以下几个方面以完成其主要职责:配置ARM core。主要包括对中断向量表,cache,MMU等的配置。配置时钟系统,主要是PLL等。这个是配置各个功能模块的基础。配置UART,timer等。主要用于输出必要的调试信息,或者提供些时钟工具。配置I2C和PMIC。这个主要是为了配置电源管理芯片。配置DDR。配置U-Boot所在的存储器或者外设。完成配置后,SPL会读取U-Boot,并运行U-Boot。U-BootU-Boot主要的工作就是正确加载Kernel。和SPL类似,U-Boot也是要加载下一个阶段的image,但是U-Boot提供了更多外设的支持和更多的调试工具。所以,U-Boot也要进行各个模块的配置,上述SPL配置的部分,除了DDR外,U-Boot也会根据需求重新配置(这里重置主要是U-Boot是一个开源工程,其要兼容某些特殊的芯片,从而需要做重载)。此外,U-Boot也会对网口,SD卡等根据需求进行配置。U-Boot和SPL的工作流程比有一点是有较大差异的,就是会对自身进行一次重载。这个在后面介绍U-Boot调试的时候,会有具体介绍。完成配置后,U-Boot会从相应的存储器或者外设读取Kernel,并传递参数给kernel,运行kernel。KernelKernel运行起来就代表Linux运行起来了,表明了启动过程的结束。U-Boot/SPL 调试代码的准备1.2.1下载U-Boot/SPL代码U-Boot/SPL的代码在一个包里面,通过编译宏来分别编译。目前TI U-Boot/SPL 代码发布主要有两个渠道,具体如下通过GIT开源的方式发布:git:///git/projects/U-Boot-am33x.git?可以获取必威体育精装版的代码,包含了必威体育精装版的bug的修复。通过TI的官网的EZSDK发布:/dsps/dsps_public_sw/am_bu/sdk/AM335xSDK/latest/index_FDS.htmlEZSDK是正式发布的软件包,经过全面测试,性能稳定,U-Boot/SPL在board-support 目录中。可以选择EZSDK作为开发的基础代码。当有问题时,可到GIT上查找必威体育精装版的代码是否有bug fix。1.2.2 U-Boot/SPL的编译。为了便于用CCS进行调试,在编译上需要注意两点,其一,是要加入调试信息,就是为了加入symbol等信息;其二,去掉编译器的性能优化编译选项,这个主要是因为,优化后的代码执行顺序相对C代码会有调整。针对这两点,在Uboot/SPL中,需要在config.mk中进行修改:在CFLAG 和 AFLAG中加入调试编译选项,从而加入调试信息:278 ALL_AFLAGS = $(AFLAGS) $(AFLAGS_$(BCURD
您可能关注的文档
- 在国际贸易中,全认证是必须进行的。在设计、生产、使用.PDF
- 在平稳继承中求在立意转向中创新.ppt
- 在死亡的山涧,羊的飞渡似横空架起的一道生命的彩虹,.ppt
- 在第一线的工作员的必备宝典.PDF
- 地下水开采对河流量衰减的影响分析.PDF
- 地方债在上交所行业务介绍.ppt
- 地理科学专业本人才培养方案.PDF
- 地质勘查成果填注意事项(2013年度).ppt
- 地质工程专业培计划(2009版).doc
- 地铁16号线(北安-西苑段)年底亮相,站名开始公示.PDF
- 2016-2017学年高中生物第二单元生态工程与生物安全第1章第2节我国的生态工程教案中图版选修3.doc
- 2022-2023学年小升初英语易错点专练06完形填空15篇(广州教科版专版含答案)2.docx
- 期中专项四年级英语下册(含答案)3.docx
- 期末卷(二)(含答案解析)-2022-2023学年高二历史期中期末复习备考必刷题(选择性必修一国家制度与社会治理).docx
- 第4课欧姆定律的应用第一讲欧姆定律实验探究(原卷版).docx
- Unit1限制性定语从句语法讲义人教版高一英语学生版213.docx
- 2023年宁波市初中毕业升学文化考试科学模拟卷(八).docx
- 5.3细胞呼吸的原理和应用课件高一上学期生物人教版必修12.pptx
- 高中政治更好发挥政府作用教学设计.docx
- 体悟民间故事中的幸福--五上《中国民间故事》导读课.docx
最近下载
- NO作为信号分子发现史.doc VIP
- KCP题库整理必威体育精装版.docx VIP
- 常见异常心电图的鉴别与诊断技巧ppt课件.ppt
- 华中师范大学(710汉语与文学基础)考研真题及答案(2016-2021).doc
- 人教版八年级上册物理第二章 声现象 作业设计.docx VIP
- 2023年天津公务员申论考试真题及答案.pdf VIP
- CDP-M-CGP-OP-001-2013-1+++++城镇燃气阀井通用图集.pdf VIP
- 基于嵌入式系统的智能农业控制系统设计与实现.docx VIP
- 《有趣的游戏-认识前后上下左右》.ppt
- (2024年新教材)部编版一年级道德与法治上册《平平安安回家来》教案.docx VIP
文档评论(0)