F28335 DSP烧录代码到Flash并运行详解
63 浏览量
更新于2024-09-01
3
收藏 51KB PDF 举报
"F28335如何烧写代码到flash中并运行"
在了解F28335 DSP如何烧写代码到闪存并运行的过程中,我们需要掌握以下几个关键知识点:
1. **DSP复位后的起始运行地址**:当F28335 DSP复位后,它会从内存地址0x3FFFC0开始执行,这是复位向量的位置。
2. **仿真器烧写程序步骤**:通常,你需要使用命令行工具或者集成开发环境(IDE),如CCS(Code Composer Studio),按照cmd文件指定的位置将编译后的二进制代码烧写到DSP的闪存中,然后执行程序。
3. **DSP的Flash启动过程**:在硬件层面,通过设置GPIO84~87为高电平来选择Flash启动。复位后,DSP从0x3FFFC0的复位向量跳转到InitBoot函数,该函数检查GPIO状态,确认启动模式为Flash。接着,程序跳转到0x33FFF6处执行。在cmd文件中,指定初始代码开始位置,如PAGE0:BEGIN,这通常包含一个跳转指令,跳转到_c_int00,进一步调用main函数。
4. **F28335烧写代码到Flash并运行**:首先,确保使用正确的cmd文件,例如F28335.cmd,该文件定义了内存分配和代码段的位置。然后,可以参考示例项目,如flash_f28335,进行烧录操作。通常,这涉及到编译、生成二进制文件,以及使用像CCS这样的IDE的烧录工具,将代码烧写到指定的Flash地址。
5. **代码在RAM与Flash中的运行差异**:如果代码在RAM中能正常运行,但在Flash中函数DSP28x_usDelay()出现问题,可能是因为该函数依赖于特定的硬件定时器或者中断服务,而这些在Flash启动模式下可能配置或初始化不同。需要检查相关时钟设置、中断处理和优化选项。
6. **CMD文件中的代码解释**:CMD文件用于配置链接器,决定程序的内存布局。例如,`MEMORY {PAGE0:...}`定义了页0的内存区域,`SECTIONS {...}`指定了代码、数据等各部分应加载到内存的哪个位置。
7. **将函数放入RAM中运行**:若要将函数放到RAM中运行,需要在源代码中明确指定该函数的存储类,如`__ramfunc`。此外,需要在cmd文件中为RAM分配空间,并确保链接器知道该函数应放置的区域。
理解以上知识点后,开发者可以成功地将程序烧写到F28335的Flash中并实现正常运行。需要注意的是,对于特定问题如DSP28x_usDelay()的异常,可能需要查看具体的代码实现和启动配置,以确定问题的根源。
点击了解资源详情
点击了解资源详情
点击了解资源详情
132 浏览量
2010-03-06 上传
2012-02-06 上传
2024-11-02 上传
2024-11-02 上传
2024-11-02 上传
weixin_38625559
- 粉丝: 2
- 资源: 949
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率