买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:中国电子科技集团公司第五十八研究所
摘要:本发明涉及电子工程技术领域,特别涉及一种基于OpenOCD的芯片FLASH程序烧写方法。包括如下步骤:在OpenOCD中实现搬运数据的片上小程序以及FLASH驱动启动,并根据编译规则文件编译生成OpenOCD调试代理程序;配置OpenOCD配置文件,通过OpenOCD调试代理程序连通芯片,通过Telnet调试命令行下发FLASH调试命令;OpenOCD解析FLASH烧写命令,通过运行FLASH驱动程序,将片上小程序写入嵌入式芯片的RAM地址中并启动,片上小程序将OpenOCD写入RAM的烧写数据搬移至FLASH中,完成烧写。本发明烧写速度快,节约成本,可移植性高,提高了调试效率。
主权项:1.一种基于OpenOCD的芯片FLASH程序烧写方法,其特征在于,包括如下步骤:步骤S1:在OpenOCD中实现搬运数据的片上小程序以及FLASH驱动启动,并根据编译规则文件编译生成OpenOCD调试代理程序;步骤S2:配置OpenOCD配置文件,通过OpenOCD调试代理程序连通芯片,通过Telnet调试命令行下发FLASH调试命令;步骤S3:OpenOCD解析FLASH烧写命令,通过运行FLASH驱动,将片上小程序写入嵌入式芯片的RAM地址中并启动,片上小程序将OpenOCD写入RAM的烧写数据搬移至FLASH中,完成烧写;所述片上小程序包括:start功能模块,进行代码初始化工作,设置初始条件并进入等待状态;write_fifo功能模块,为一个循环,通过ARM通用寄存器r6加载写指针wp和ARM通用寄存器r5加载读指针rp;通过比较ARM通用寄存器r5和ARM通用寄存器r6的值,若相等则说明当前没有新数据可写,继续在write_fifo功能模块中等待;若不相等则说明当前有新数据可写,从读指针rp指向的地址读取数据并写入目标地址;同时需要检查读指针rp是否超出工作区范围,若未超过工作区末尾地址则直接跳转到no_warp功能模块继续执行;若超过或到达末尾工作区则重置读指针rp为工作区起始地址,重新开始使用工作区;no_warp功能模块,为环绕处理,处理读指针rp在工作区中的位置,确保读指针rp不会超出工作区的界限,如果读指针rp移动到工作区末尾之外,则no_wrap功能模块将读指针rp重置到工作区的开始,从而实现环绕;special_set功能模块,为特别处理的模块;busy忙等待功能模块,从闪存控制器的状态寄存器中读取当前状态,检查忙状态BSY位,当忙状态为1时,则跳转指令将执行流程重新跳转到busy标签,形成一个循环,直到BSY位清除为止;error功能模块,为处理写入过程中检测到的错误,且读指针rp置0;exit功能模块,为结束程序执行,通过ARM通用寄存器r0返回最终状态,并执行断点指令,标识程序正常执行。
全文数据:
权利要求:
百度查询: 中国电子科技集团公司第五十八研究所 一种基于OpenOCD的芯片FLASH程序烧写方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。