line 56: error #135: expected a field name,这是说,上面这个结构体变量缺少域名。因为这个xx.c文件上面包含了一个头文件,该头文件中有个宏定义:#define
在空载时候,每个周期内,buck上管存在,自举充电。错开后,就只剩下开关文波了,基本没有震荡。...
做BL的时候,主函数被改成了BLmian()boot28.asm中 LCR _SBLmain,如此带返回调用主m中的代码如下:_exit:;-----------------------------------
以经典的F28035为例,对于习惯了浮点DSP的朋友来说,用定点DSP,刚开会感觉很烦人,算个数特别麻烦。特别是经常要计算小数,也就是浮点数,例如3.14*3.22,这样的计算在浮点DSP里面不是事儿,很快,但是在定点dsp里面,仅仅这个简单的乘法,就好消耗2us的时间,这样想完成一定功能的计算,那时间消耗多得让控制功能无法实现。但是如果在定点DSP里面进行浮点数的读取和赋值呢?这个会不会消耗很多时间呢?下面对一些列的情况做实验来具体看看,以加深印象。volatile float .
F28035的CLA无法操控IO口,但是可以操控PWM外设。我们常用IO口置位和清零的办法在CPU的中断函数中测试中断函数的运行时间。但是这个办法在CLA任务重不可行。同样思路,我们改成强制置位PWM输出的电平高低来实现CLA任务的执行时间测量。例如,配置函PWM5。然后再CLA任务开始的地方: MMOVF32 MR2, #1.0 ;把1给MR2 MF32TOI32 MR2, ...
这是由于在下载程序选择.out文件的时候,选择的不是当前工程的out文件,而是另一个工程的。容易出现这种错误的原因是,由于版本原因,时常新建新的工程。每个工程的workspace不一样。
分子系数,是差分方程的本周期输入前面的系数,这个系数越小,滤波越狠,时间常数越大s前面的系数是RC,按照物理机理,可以直观的感受到rRC越大,滤波越狠。
两个数相乘,有下面两种实现办法:实现1: MMOVF32 MR0, #100.002 MMPYF32
atic inline voidSysCtl_enablePeripheral(SysCtl_PeripheralPCLOCKCR peripheral){
这是一本好书,翻译的中文也不错,就是有些地方翻译的比较拗口。卡你这种书,还是英文版的更容易领会作者的意思,虽然速度会慢一点。 在我这个csdn博客的资源里可以免费下载。或者在csdn上搜索《控制系统设计指南英文原版和中文翻译版免费下载.7z》即可下载。...
TI的28335和28035,等,是在没法办,能试试这家国产的吗?好歹是有苗头了。进芯片电子,现在种下的意尔康种子,将来也许能成事。
TI最近两年出的C2000系列芯片,TI开始普遍采用driver lib 提供API的方式来操作处理器了。怎么适应TIC2000的API呢?其实看两篇TI的文档,就能很容易把习惯转变过来了。第一篇:
void CANMessageGet(uint32_t ui32Base, uint32_t ui32ObjID, tCANMsgObject *pMsgObject,bool bClrPendingInt)这个函数完成对消息邮箱中数据的读取。有个疑问之一:if(bClrPendingInt){ //这条语句是真,会执行。 ui32CmdMaskReg |= CAN_IF2CMD_CLRINTPND | CAN_IF2CMD_TXRQST; }//完成把清...
在主程序下载kernel后,并且校验和对比无误,就跳入函数 boot_ram_loader();该函数运行结束后,程序就完成了从应用程序向kernel程序的跳转。跳转的机理是什么呢,此时要让PC装载kernel程序的入口地址,但是有不能直接装载。结束主程序的之前需要做一些准备工作,具体准备什么,我也不知道,进入kernel之前也要做一些准备工作,具体准备什么我也不知道。完了才能去触发kernel程序的入口地址装载到kernel。具体过程:boot_ram_loader();函数定义在如下
CMD文件如何写?如何做到游刃有余,其实不用到处找别人的解释,主要看一篇文档就行,就是官网提供的spru513w Assembly Language Tools,这个汇编语言工具里面都讲了。扒这篇文档就行啦
上面这几篇分享,更有其他的分享,都挺好的,值得认真阅读。 我是天生反应慢,看完别人写的后,感觉还是不踏实。于是自己搜集TI官网相关资料,以TMS320F28379D为例,假定我们要引导CPU去flash中读取应用程序。梳理它从上电复位到片上boot ROM程序退出之前的运行过程,再梳理从bootROM退出后到main函数运行之前是如何衔接的。 对于上电引导到flash: 1、上电后,CPU复
坐标变换所需要的变量,坐标变换函数是强耦合的,在C语言中,为了模块化,和使用面向对象的思想。用结构体和函数指针来模拟类似C++的类和对象。C语言的结构体中,不会能有函数,但是可以有函数指针啊,他仍旧是个变量。但是可以用来调用函数,这样就让结构体也能调用函数
"../cmd/2837xD_FLASH_CLA_lnk_cpu1.cmd", line 79: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment/blocking fails fo
28379d的CPU2工程建立过程中,遇到cmd文件中的内容重复指定问题。我的新建工程方法是,把需要的CMD,source,include文件都包含到
在线运行不能有IPCBootCPU2(0x0000000B);离线运行需要加上IPCBootCPU2(0x0000000B); // Send boot command to allow the CPU2 application to begin execution //if online operation,this function should be cancellation //if offline operation,this function should be E...
C:\ti\controlSUITE\device_support\F2837xD\v210\F2837xD_examples_Dual\adc_epwm这个例程,设置生成flash编译,下载,不断电,直接运行,可以。但是断电重新上电运行就不可以。怀疑是CPU1的工程中没有对CPU2的启动代码,需要加入...
DELAY_US(1000*200);要在ram中运行,如果CMD是flash,那么就不能运行,需要放开flash copy 头RAM那段代码,这个在七年前遇到过,时间长了给忘了。现在又遇到了。 28379D双CPU运行时,GPIO 外设的配置是放在CPU1中的,因为GPIO外设寄存器的配置无需每个CPU都有控制权,如果CPU也要用GIPO作为输出输入口,那么让CPU1一下就行。 像这样的函数: GPIO_SetupPinMux(34,...
下面说明,GPIO被谁控制,需要通过GPIO外设的相关寄存器配置来实现,这个如果没有双核运行需求是不容易注意到的。
需要用到8个PWM模块,,配置出来后,发现发波不同步。下图是原因之一:在void InitPeripheralClocks(void)函数中, CpuSysRegs.PCLKCR0.bit.TBCLKSYNC = 0;这句话要置零,等待模块配置好了之后再置一。应该还有synchronization input (SYNCI)需要解决。...
硬件设计对应有个引脚使用情况的使用表格,方便后面的硬件调试和编程以及交流使用。以TMS320F28379d为了。工具AD14首先得有TMS320F28379d的愿,原理图库元件。如下图所示:上面这个图的引脚号和名字导入到表格,要是手写,那极容易出错又浪费时间。打开原理图库,找到该元件点击编辑,如下图所示:点击菜单栏的reports-》components出现下图所示的报告文档:按住ctrl和alt,选择第一竖行,复制,就可以把283790d的所有引脚名称一次性复制
本章讲解boot ROM 代码中的功能
例程用的挺好的,往自己的工程里面做flash参数读写的时候,在处理CMD文件过程中就出现问题了:编译后出现上述警告。对应的memory map 里面确实没有引入这个elib的二级制文件。"../cmd/2837xD_FLASH_CLA_lnk_cpu1.cmd", line 118: warning #10068-D: no matching section后来发现原因是:这个lib在cmd里面配置好了之后,除了基本的在工程配置里面需要有这个lib的链接配置外,还需要在工..
1.结构体变量的地址就是结构体的首地址2.结构体第一个成员的地址就是结构体的首地址要获取结构体变量的首地址,就是要获取结构体变量第一个元素的地址。例如:typedef struct { uint16 Kp; uint16 Ki; uint16 Kd;} spidPID; //定义一个结构体类型spidPID VarPID={1,2,3}; ...
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号