DSP下载到FLASH

学习记录:

在将程序下载到DSP的FLASH中时,遇到了一点小问题,查了一些资料,记录一下。

小白,欢迎交流指导。

首先说一下如何将程序下载到FLASH中,我看的是普中的视频资料,必备的两个文件:1.DSP2833x_MemCopy.c        2.F28335.cmd

然后在主函数的时钟初始化后加入两行代码,如果有中断初始化,放在中断初始化之后。

    MemCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);
    InitFlash();

还要删除28335_RAM_lnk.cmd,这个是把程序下载到RAM里的配置文件。

至此就可以了,一步多余的操都不要有。  其实CMD文件里面的内容还要改一下,不过直接用普中的这个就可以,链接我放在下面了:

链接:https://pan.baidu.com/s/1_YZ2NoIjU-UheIfn2uw1xA?pwd=ov49 
提取码:ov49

接下来,记录下我自己的理解,

首先这两行代码,第一行的意思是把FLASH中的程序复制到RAM中执行,为什么这么做,就不得不说一下InitFlash();  这个函数了,在DSP2833x_SysCtrl.c 中可以看到此函数初始化FLASH控制寄存器,此函数必须在RAM中运行,如果在OTP/FLASH中运行的话讲产生不可预料的后果,所以必须要进行这一步。

其次说明一下,这两行代码是怎么运作的,MemCopy执行的地址是在CMD中分好的段,这就是之前说的CMD文件需要改一下,我的理解哈,不一定对。

   ramfuncs            : LOAD = FLASHD, 
                         RUN = RAML0, 
                         LOAD_START(_RamfuncsLoadStart),
                         LOAD_END(_RamfuncsLoadEnd),
                         RUN_START(_RamfuncsRunStart),
                         PAGE = 0

这个就是将ramfuncs段的FLASHD中的程序放在RAM中执行, InitFlash();又是如何放在ramfuncs段中的呢,

//将InitFlash函数映射到CMD文件中的ramfuncs段,在CMD文件中ramfuncs段被分配到RAM里面

#pragma CODE_SECTION(InitFlash, "ramfuncs");

至此,这两行代码的意思也大致明了了,就是先把需要在RAM中执行的函数放在ramfuncs段,这个段是可以自己定义的,也就说其它函数,程序,也可以通过类似的方式,放在RAM中执行。然后通过MemCopy,就可以实现将ramfuncs段中程序放在RAM中执行了。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DSP28335是一款数字信号处理器,它有一个内置的闪存(flash)可以用来存储程序代码。如果您想将程序烧写到DSP28335的闪存中,可以按照以下步骤进行操作: 1. 准备好烧写工具:您需要一个能够烧写DSP28335闪存的编程器,比如JTAG编程器或者USB编程器。 2. 连接编程器:将编程器连接到DSP28335的JTAG或者USB接口上。 3. 打开烧写软件:启动编程器提供的烧写软件。 4. 设置烧写参数:在烧写软件中设置好DSP28335的型号和闪存大小等参数,以及要烧写的程序文件路径。 5. 烧写程序:按下烧写软件中的烧写按钮,开始烧写程序到DSP28335的闪存中。等待烧写完成。 6. 验证程序:烧写完成后,可以通过读取DSP28335的闪存内容来验证程序是否成功烧写到了闪存中。 请注意,烧写程序到DSP28335的闪存中需要特殊的硬件和软件支持,如果您不了解这方面的知识,建议请专业人士协助操作。 ### 回答2: DSP28335是一种数字信号处理器,可以通过编程控制来实现特定的功能。要将程序烧写到FLASH中,我们需要遵循以下步骤: 1. 准备好烧录工具和软件。通常,我们会使用JTAG或USB烧录器来进行烧录。同时,我们还需要选择一款好用的编程软件,比如Code Composer Studio。 2. 确定需要烧写的程序文件。将我们想要烧写的程序文件转化为.hex或.bin格式。 3. 将DSP28335开发板与计算机连接。通过USB或串口连接。 4. 将编程工具与DSP28335开发板进行连接。确保连接的正确性。 5. 打开编程软件,在其中选择需要烧录的程序文件。 6. 配置烧录参数。例如,选择烧录方式,地址,以及擦除范围等等。 7. 进行烧录操作。在烧录前,我们需要确保没有程序正在运行。同时,我们也需要做好备份,避免烧录失败后数据丢失。 烧写完毕后,我们需要进行验证。可以再次运行程序来确认其是否正常工作。同时,我们也可以通过读取FLASH中的数据来验证烧录结果。总的来说,DSP28335烧写程序到FLASH并不难,但是我们需要认真细心地完成每一个步骤,以避免出现错误。 ### 回答3: DSP28335是德州仪器(Texas Instruments)公司推出的一款高性能数字信号处理器(DSP)。在开发DSP28335的过程中,需要烧写程序到Flash中。 首先,在使用DSP28335进行烧写之前,需要安装好烧录器和编程软件。常用的编程软件可以是CodeComposer Studio、IAR、KEIL等。接着,连接DSP28335和电脑,并将烧录器和DSP28335连接。 然后,在编程软件中选择烧写程序的文件,将其编译生成需要烧写的HEX文件。接下来,在编程软件中设置好需要烧写的Flash地址和烧录选项。Flash地址包括Flash起始地址、Flash结束地址、Flash地址呈递增顺序、Flash地址写入字位等。 在设置好Flash地址和烧录选项之后,需要将DSP28335处于烧写模式。具体来说,需要在DSP28335上拉低SCI模拟输出端口(SCI_TXD)引脚并保持低电平,然后将DSP28335复位。此时,编程软件会检测到DSP28335处于烧写模式,可以进行烧写操作。 最后,在编程软件中点击“Start Programming”按钮,启动烧写操作。编程软件会将HEX文件中的程序数据逐一写入Flash中,直到写入完成。完成后,将DSP28335退出烧写模式并重启,即可运行烧写的程序。 总的来说,DSP28335烧写程序到Flash的过程主要包括:准备工作、编写程序并生成HEX文件、设置烧写选项和Flash地址、将DSP28335处于烧写模式、烧写程序到Flash中、退出烧写模式并重启。注意在整个烧写过程中,需要保持DSP28335和编程软件的连接稳定,以确保烧写成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值