TMS320F28335项目开发记录4_28335之启动模式(串口烧写Flash)
来源:互联网 发布:windows是比尔盖茨 编辑:程序博客网 时间:2024/06/05 07:32
TMS320F28335启动模式
TMS320F28335支持多种启动模式:
// $Boot_Table://// GPIO87 GPIO86 GPIO85 GPIO84// XA15 XA14 XA13 XA12// PU PU PU PU// ==========================================// 1 1 1 1 Jump to Flash <- "boot to Flash"// 1 1 1 0 SCI-A boot// 1 1 0 1 SPI-A boot// 1 1 0 0 I2C-A boot// 1 0 1 1 eCAN-A boot// 1 0 1 0 McBSP-A boot// 1 0 0 1 Jump to XINTF x16// 1 0 0 0 Jump to XINTF x32// 0 1 1 1 Jump to OTP// 0 1 1 0 Parallel GPIO I/O boot// 0 1 0 1 Parallel XINTF boot// 0 1 0 0 Jump to SARAM// 0 0 1 1 Branch to check boot mode// 0 0 1 0 Boot to flash, bypass ADC cal// 0 0 0 1 Boot to SARAM, bypass ADC cal// 0 0 0 0 Boot to SCI-A, bypass ADC cal// Boot_Table_End$
一时兴起,先说一些题外话,关于烧写程序的问题:
1. 一般使用CCS+仿真器时,我们把程序烧进RAM中运行,这样运行速度快,方便实际项目的开发与调试;
注意此时用的是28335_RAM_lnk.cmd文件
2. 当项目完成时,一般我们会选择将程序烧进Flash中,以摆脱仿对真器的依赖;当我们用f28335.cmd连接文件时,会把程序烧进28335内部的Flash中,此时,就可以脱离仿真器运行了;从Flash启动;——也就是上面的
XA15 XA14 XA13 XA12
即分别等于1 1 1 1 时,Jump to Flash;
当然,具体的配置不仅仅是修改cmd文件这么简单的,有时程序在RAM中运行良好,到Flash中后就会出现这样那样的问题;
最典型如US_DELAY延时的一个函数,在RAM运行是延时很精确的,但在Flash中却不一样了,这个后面会说;
3. 结束废话,进入正题,当我们要没有仿真器时,如何将程序烧进Flash中呢?
我们最上面的看启动方式中有SCI-A boot, SCI是串行通信接口,我们可以从串口启动引导28335;
在这之前,一般硬件上都有跳线设置,我们可以把XA12下拉为低电平;
这样就可以设置启动模式为:1 1 1 0 ——即为SCI-A启动
串口烧写Flash:
第一步:
下载hex2000,使用hex2000将ccs编译得到的.out文件转换为.hex文件;
将ccs编译得到的hex文件拷贝至到hex2000目录下;
开始——运行——到hex2000目录下 输入:
hex2000.exe -romwidth 16 -memwidth 16 -i -o LED.hex LED.out
出现下图所示信息代表转换成功:
第二张图是使用CCS自带的生成HEX文件的一个功能选项,这样可以不用下载hex2000;
第二步:
开发板切换为SCI-A启动模式,即1110;
将XA12接地即可,其他X13-X15保持上拉的3.3V不变;
第三步:
C2Prog下载地址:http://www.codeskin.com/c2prog-download
第四步:
串口接好,启动C2Prog,板子复位上电;
使用串口调试工具,测试打开的串口:发送ABC等应该原样返回信息;
配置C2Prog后,点program即可烧写
第五步:
切换为Flash启动,观察程序运行;
>>PS:我曾出现失败的错误提示:
CRC Info added at 0x00330809: 0x9D1C 0x57C0 0x0000
*** PLEASE RESET TARGET IN SCI BOOT-LOADER MODE ***
Connecting with target (autobaud)... failed (no response)!
最后发现犯了一个简单的错误,开发板串口与电脑串口没有加电平转换芯片,导致串口工作不正常;
成功结果:
- TMS320F28335项目开发记录4_28335之启动模式(串口烧写Flash)
- TMS320F28335项目开发记录8_28335之GPIO引脚
- TMS320F28335项目开发记录5_28335之CCS编程基础
- TMS320F28335项目开发记录6_28335之cmd文件详解
- TMS320F28335项目开发记录9_28335之中断系统
- TMS320F28335项目开发记录10_28335之SCI模块
- TMS320F28335项目开发记录7_28335之时钟
- TMS320F28335项目开发记录11_28335之存储系统
- TMS320F28335项目开发记录6_28335之cmd文件详解
- TMS320F28335项目开发记录3_28335简单介绍
- TMS320F28335程序烧写FLASH
- TMS320F28335项目开发记录1_CCS的使用介绍
- TMS320F28335项目开发记录2_CCS与JTAG仿真器连接问题汇总
- DM36x使用串口和NAND启动完成NAND Flash烧写(一)
- DM36x使用串口和NAND启动完成NAND Flash烧写(二)
- Hi3516A开发--烧写/启动模式
- S5PV210开发 -- 烧写/启动模式
- openwrt固件,串口烧写flash
- Cocos2d-x_地图(背景)介绍
- [2014-10-22]JAVA笔记_Annotation(注解)
- mfc 链接 access 2007 数据库
- 前五年不小心过去了
- Android编译系统
- TMS320F28335项目开发记录4_28335之启动模式(串口烧写Flash)
- UUID of Xcode6 version
- 泰文的字符拆分
- Can't bind to local 8700 for debugger 端口占用
- 在自己的电脑上搭建服务器,发布自己的网站(学习之用)
- 火车票查询接口
- android渐隐动画,通过xml控制按钮的变化。
- LeetCode Merge Sorted Array
- Fast特征点检测