以下介绍的是dsp c6455的一种烧写程序的方式。它是通过片内运行的程序,将待烧写的程序写入片外FLASH中。在DSP上电或复位后,执行EMIFA 8-bit ROM BOOT,从片外FLASH加载程序并运行。

6455的烧写过程涉及三部分的文件:

1.主程序文件:完成所需功能的那部分程序文件,包含main.c。编译后会被编译到.boot_load以后的段,
主函数被编译到 .cinit段。
2.搬运程序文件: 完成烧写后,6455上电或复位,会自动将片外flash的头1k字节搬运到片内SRAM,
并开始运行。这1k字节内的程序,即搬运程序,需要将主程序,从片外FLASH搬运至片内SRAM,最后跳转到主程序运行。
搬运程序文件由boot.c和boot.asm两部分组成,会被编译到.boot_load 段。
3.烧写程序文件:它的作用是将被编译下载到片内SRAM后的主程序和搬运程序,烧写到片外FLASH中。
需要另建一个工程

烧写过程:
1.建一个工程pro1,包含主程序文件和搬运程序文件。编译通过后,将程序下载到6455内(只下载,不执行).
查看debug/release目录下map文件,得到程序各段在片内SRAM中的位置。
eg:
.boot_load start:00800000 length:000000e0

.cinit start:009e0500 length:00000214

.switch start:009e0714 length:000000e8
……
.csl_vect start:009f2c00 length:00000200

2.另建一个工程pro2,包含烧写程序文件。编写cmd文件,避开pro1已使用的片内SRAM的地址,
分配烧写程序文件被编译后各段在片内SRAM中地址。在上例中,可以将烧写程序文件被编译后的各段,
放在0x008000e0-0x009f0500之间的地址。编译下载并运行烧写程序,将之前片内SRAM中已被编译下载的
0x00800000-0x008000e0和0x009e0500-0x009f2c00间pro1的程序,写入FLASH中,从而完成烧写的过程。
烧写程序文件main.c中烧写的函数:

//烧写搬运程序
boot_source= 0x00800000;
boot_length=0x000000e0;
for(i = 0; i < boot_length; i++)
{

    WriteByte(i,*(unsigned char *)( boot_source+i));C6455_wait(200);

}
//烧写主程序
pragram_source=0x009e0500;
pragram_length=0x009f2c00 + 0x00000200 -0x009e0500 ;
for(i = 0; i < pragram_length; i++)
{

    WriteByte(i+0x400,*(unsigned char *)( pragram_source+i));C6455_wait(200);
}

总结:以上只是6455烧写的一种方式的大概过程,让读者有个初步印象,详细过程需要读者进一步探索。

dsp c6455 烧写概述相关推荐

  1. 【2020-08-05】.out文件的DSP程序烧写

    记录自己嵌入式的点滴 这里主要说明一下.out文件的DSP程序烧写,以及期间遇到的问题.嵌入式这一词仿佛包含了太广太广的领域,以至于在解释起来就显得很笼统.就个人的现阶段,暂时理解为单片机.FPGA. ...

  2. DSP程序烧写bin文件到flash中,及下载到flash中无法运行的问题

    1.下载bin到flash中 开发环境为CCS5.5,需要破解后使用 项目的配置属性为: 输入以下命令,即可编译后生成bin文件 "${CCS_INSTALL_ROOT}/utils/tio ...

  3. 【笔记】DSP程序烧写问题

    什么是boot loader? DSP的速度尽快,EPROM或flash的速度较慢,而DSP片内的RAM很快,片外的RAM也较快.为了使DSP充分发挥它的能力,必须将程序代码放在RAM中运行.为了方便 ...

  4. c语言每次堆的变化是1k,DSPXC语言+程序烧写讲述.ppt

    DSPXC语言程序烧写讲述 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...

  5. TMS320C6748开发视频教程笔记 第7章 启动与烧写

    第7章 启动与烧写 7-1 启动流程及方式 7-2 AIS文件结构 7-3 通过串口加载运行程序 7-4 配置并生成AIS文件 7-5 程序烧写 7-4-1 CCS烧写 7-4-2 串口烧写 7-4- ...

  6. 在TI DSP开发板中烧写Flash程序

    实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写:二是通过开发商提供的专门软件工具+在线仿真器烧写:三是自己编程通过DSP烧写.个人使用的是合众达电子SEED-VPM642开发 ...

  7. CCS如何连接DSP目标板,但是不烧写内容

    CCS如何连接DSP目标板,但是不烧写内容? 这个操作可以用来通过仿真器读取DSP内部数据(如Flash内的数据). 方法是:在完整的 工程窗口,点击工具栏(CCS页面上方) 必须打开上面这个窗口,接 ...

  8. 如何使用CCES来生成双核DSP的可烧写文件以及Flash Program

    作者的话 之前的文章里有写到如何使用CCES来进行DSP的flash program,那都是单核的DSP,而ADI还有很多双核甚至三核DSP,这些DSP应该如何操作呢,会有哪些不同?我再写一个文档来说 ...

  9. TI DSP TMS320C66x学习笔记之SPI Nor Flash多核程序烧写

    烧写工具链接: https://pan.baidu.com/s/1em4jWjbskpMmNd1uzscjjA 提取码: 82qg 经过一段时间的研究终于把TMS320C6657单核和双核的SPI N ...

最新文章

  1. 《防患未然:实施情报先导的信息安全方法与实践》——3.3 攻击剖析
  2. ORB-SLAM2从理论到代码实现(四):相机成像原理、基本矩阵、本质矩阵、单应矩阵、三角测量详解
  3. Apache Log4j2 远程代码执行 漏洞
  4. java 32 questions
  5. 操作系统/etc/hosts文件配置
  6. java生成大素数_代码优化 - 生成素数
  7. Linux的一些简单命令操作
  8. 【codevs1935】【BZOJ2879】美食节,网络流之动态加点
  9. java sql语句怎么调用函数_oracle pl/sql之在java中怎么调用oracle函数
  10. 使用rem单位布局的时候有什么好处_好程序员web前端技术分享移动端页面布局
  11. 我的世界服务器领地怎么无限大,我的世界:Minecraft都市传说,MC无限大?让我们一起寻找边界吧...
  12. offer oracle svp_SVP4
  13. 腾达U12无线网卡驱动安装教程
  14. 卡尔曼滤波原理介绍及算法实现
  15. html如何将搜索图标放入搜索框中
  16. 吴恩达老师DeepLearning系列课程最详细学习笔记之4—为什么深度学习会兴起?
  17. 何为三网融合?---经典解释
  18. Whistle——抓包工具
  19. 申宝正规股票煤炭股超跌反弹
  20. Java Portlet 规范概述

热门文章

  1. Nginx rewrite 详解
  2. 2015年新的开始新的生活
  3. JAVAWEB使用JSP+Servlet实现商品管理功能,后台为数据库,功能包括商品信息浏览、商品信息详情、商品信息删除及修改。
  4. java初中_初中生如何学习java?
  5. 先锋M.2 NVMe 2280 SSD 256GB固态硬盘 测速
  6. 泰凌微BDT烧录软件遇到的问题
  7. JAVA多线程技术-线程的生命周期
  8. 抖音神器---Java实现图片(Image)转字符(ASCII)图片
  9. 云服务器标准方式登录Linux
  10. ArcGIS基础:通过创建渔网四等份分割要素【提取-分割】工具