DSP在线升级(3)-----一块DSP芯片的片上flash如何烧写2个工程

DSP在线升级(1)---认识DSP芯片启动流程

DSP在线升级(2)--bootloader的设计框架

DSP在线升级(3)-----一块DSP芯片的片上flash如何烧写2个工程

DSP在线升级(4)-----bootloader实现的功能

仍然以28377系列的dsp芯片为例;

对于project1

main函数编写如下:

main函数编写随意,最主要时其中有一句跳转地址的汇编指令;这里我们让代码跳转至地址0x84000;我们后面将该地址设置为第二个工程的codestart地址;那么该程序在运行时会跳转至第二个工程的起始地址;

同时在该工程的cmd文件中配置如下:

需要注意两点;该工程codestart的 BEGIN地址设置为 0x80000(默认的cmd文件,BEGIN起始地址都是0x80000);确保上电之后,程序pc执行到0x80000时,该处存在用户代码;

同时该工程需要限制在限定的flash sector中;(这里假设为flash sectorA 和sectorB中,按照用户个人需求来设定),通过cmd文件中的 SECTIONS可以进行配置,这是为两个不同的工程划分不同的区间,让两个工程之间没有flash重叠的部分;

对于project2

main函数编写如下

代码中有一句跳转汇编指令,跳转地址为0x80000;由于该地址为第一个工程的起始地址;

同时该文件的cmd文件配置为将

codestart的BEGIN段配置为 0x84000;

同时其他的代码段(数据段)都链接至flash sectorC 及以后,这了我们链接在flashD中;

当我们先将一个工程文件烧写至flash中,再烧写第二个工程,同时在线调试其中一个工程时,在main函数处打上断点,我们可以观察到该工程频繁进入main函数的断点;这是由于两个工程之间在不断地跳转至对方codestart所致;

怎么在一个flash上同时烧写两个工程文件时参考如下:

CCS7.3烧写DSP的on-chip FLASH时,如何只擦除部分FLASH Sector(一块DSP芯片的片上FLASH烧写两个工程)

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ah_yl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值