嵌入式
文章平均质量分 73
ah_yl
南京工程师一枚。
展开
-
DSP在线升级(4)-----bootloader实现的功能
bootloader需要实现功能包括以下:1、通信口功能;(假设使用一组sci来进行dsp芯片和上位机的通信)2、解析上位机下发的 .hex 文件;原创 2021-06-15 19:55:01 · 4667 阅读 · 7 评论 -
DSP在线升级(3)-----一块DSP芯片的片上flash如何烧写2个工程
https://blog.csdn.net/ah_yl/article/details/115823205原创 2021-06-15 19:40:00 · 4390 阅读 · 9 评论 -
DSP在线升级(2)--bootloader的设计框架
对于DSPTMS320F28377D,首先查看芯片手册,了解该芯片的片内存储资源;包括RAM以及ROM(flash);查找的芯片资源如下:原创 2021-06-15 19:14:03 · 9382 阅读 · 14 评论 -
DSP在线升级(1)---认识DSP芯片启动流程
首先了解一下TI的DSP上电之后是如何运行的;以Ti的DSP28377为例,CCS版本号v7.3;连接仿真器,保持DSP的在线调试状态;首先进入debug调试界面,启动28377的芯片配置;鼠标右键点击connect Target按钮(如图1所示);图1点击连接芯片之后,我们可以看到调试界面显示, 0x3FF16A(no symbols are defined)no source avaliable for 0x3ff16a(如图2所示);这里的意思是程序运行至了芯片..原创 2021-06-15 17:31:38 · 11208 阅读 · 11 评论 -
DSP芯片上电后在执行main函数前的执行流程
以tms320f28377d为例:假设我们创建工程test;该项目中需要注意的文件包括(见图1):1、 main.c文件;2、 DSP用于连接.coff(可执行文件)的 .cmd文件;3、 28377型号相适配的 F2837xD_CodeStartBranch.asm文件...原创 2021-06-15 15:40:45 · 6281 阅读 · 19 评论 -
DSP杂谈,当代码中定义变量时,编译出来是如何保存在芯片上的
假设我们写了一段代码;int a[3] = {1,2,3};int b[3];char buf[] = “hello world”;int main(){a[0]++;b[0] = 100;b[1] = a[1];//printf(“%s”,buf);//printf(“hello world”);return 0;}程序中数组a被初始化,数组b没有被初始化,程序对数组a和数组b都进行了操作(读/写);那么,数组a中的内容是包含在程序中的,字符串hello world也是包含在程原创 2021-05-11 11:25:12 · 917 阅读 · 2 评论 -
CCS7.3烧写DSP的on-chip FLASH时,如何只擦除部分FLASH Sector(一块DSP芯片的片上FLASH烧写两个工程)
打开ccs, 首先点击view ->Target configurations,打开芯片配置窗口;接着点击芯片配置窗口中的 New Target Configuration File;创建一个项目工程使用的芯片配置 ***.ccxml 文件;创建过程如下:点击finish;接着配置新建的 .ccxml 文件的仿真器以及芯片类型;这里我以 TMS320F28377D 为例,选择好之后点击save;在芯片配置窗口右键点击新创建的 .ccxml...原创 2021-04-18 12:44:21 · 7264 阅读 · 3 评论 -
STM32的位段操作,基于STM32F103xxx多方法点亮LED灯
首先我把位段操作的步骤说一下:(直接cp手册上的原文)下面的映射公式给出了别名区中的每个字是如何对应位带区的相应位的:bit_word_addr = bit_band_base + (byte_offset×32) + (bit_number×4)其中:bit_word_addr是别名存储器区中字的地址,它映射到某个目标位。bit_band_base是别名区的起始地址。byte_offset是包含目标位的字节在位段里的序号bit_number是目标位所在位置(0-31)例子:下面的例子说原创 2020-12-19 01:10:17 · 1192 阅读 · 0 评论 -
DSP283x系列,裸机程序移植到SYS/BIOS系统中操作流程、注意点、中断配置
DSP裸机程序以及SYS/BIOS操作系统所谓裸机程序:当我们在进行DSP开发的时候,比如在买开发板时所提供的一些例程。比如FLASH、ram配置GPIO使用,各种总线中断的使用等等。一般提供的例程都差不多如下所示:void main(void){ InitSysCtrl(); InitGpio(); GPIO_SetupPinMux(0, GPIO_MUX_C...原创 2019-12-23 16:55:49 · 2500 阅读 · 6 评论