garfield

Kinetis ARM Cortex-M4 MCU 常见问题解答

0
阅读(2634)

本帖汇总Kinetis ARM Cortex-M4 的一些常见问题,以下内容是结合本论坛网友提问及回答。下列问题可能存在一些小毛病,欢迎大家针对问题进行讨论,本帖将实时更新。如果大家有新的问题,可以跟帖留言,我们第一时间为您解答。

1Kinetis ARM Cortex-M4使用哪些仿真器?

回答:OSBDMPEJlink

2K60无法下载程序的原因?

回答:由于程序本身问题,导致进入硬件错误死循环。解决方法是擦除FLASH

3JTAG接口电路?

回答:只用到TCKTDITDOTMSnRSTTRST(可加可不加)、VCCGND


4、为什么操作flash的函数要copyRAM里来执行?

回答:拷贝到RAM中执行是由于FLASH存储方式确定的,因为同一片FLASH不能进行操作,只能将FLASH拷贝到RAM中执行。

5flexubs地址是以什么方式操作的?

回答:Flexubs地址是以双字的方式操作。

6cortex-m4 datasheet下载地址:

回答:http://www.freescale.com.cn/products/Kinetis_ARM_Cortex-M4_Microcontrollers.asp

7codewarrior v10.1如何设置成全部英文的?

8、在100M主频下面串口波特率的配置?

回答:2M波特率下面,计算出来的位脉宽偏大,可以通过调整BRFA的值,来调整脉宽


9TWR-K60N512Keil MDK中如何打开外部中断

回答:NVIC_EnableIRQ(UART3_RX_TX_IRQn);打开相应中断号。

10AD,只能每次启动1个通道的转换,不能多次转换。

11K60中断优先级设置是哪个寄存器?

回答:IPR寄存器可以设置优先级,详细请查阅手册。

12、程序存储区和PC指针的使用:

回答:0x00000000处放置的是堆栈起始地址;

0x00000004处存放的是PC指针,可以是标号

也就是开机上电后,把0x00000000出的内容给SP,0x00000004处的内容给PC,然后就从那个地址开始执行指令了。

0x00000000 0x20010000 ;堆栈起始位置在RAM最顶端

0x00000004 __startup ;第一条指令在__startup标号处


13K60有没有软件复位指令?

RNG_CMD_SR = 1;

14、模拟部分的VDDAAD的基准VREF到底最高可以接多少V的电压?

回答:VDDA min VDD-0.3V max VDD+0.3 V VDD max 3.8V也就是说VDDA最大4.2V 4.2V是一个极限 最好不要超过3.6V

VaIO模拟IO min -0.3V max VDD+0.3V

Vref 1.71V - 3.6V


15DAC寄存器配置里有个watermark的作用?

watermark嘛,顾名思义水位标记。这里指buffer位置标记,设置妥当之后,一旦当前buffer位置是设置位置,那么就会有相应中断发生或触发DMA。这个标记在快速读取和写入的时候相当有用,特别是配合dma使用时。


16、我在K60上跑的裸程序,没有系统,在程序中我申请了动态内存,我准备使用内部看门狗,看门狗复位后原来申请的内存没有释放,程序起来会去申请内存,会不会造成内存泄露?还是复位后内存管理也初始化了,只是RAM里有值,再申请内存也不会造成内存泄露?

回答:看门狗复位后,内存管理也会重新初始化。没有指示内存使用情况的寄存器。如果没有特殊情况,你所说的内存管理应该就是heap的使用,通常是malloc/calloc/realloc/free等函数。具体内存使用情况,可以参考你所用的IDE中这些函数的源代码,会有几个全局变量供你查看。

17、一直没有找到详细的资料说明K60AD通道方面,datasheet上说是416 bitADC4AD是差分输入吗?如果单端输入最多可以有几路?

回答:就目前的产品来说,是2sar adc模块,每个模块有多路通道,同时支持差分输入模式。以后可能会有4adc模块的产品。如果没有同时采样要求,一个adc模块就可以接20路单端输入;如果一定要同时采样或者有时序要求,那只能是两路。另:具体请到官方网站上下载k60的参考手册和Datasheet

Baidu
map