FM3应用笔记调试+串口上位机(大数据量,高波特率,保存到WAV文件) 问题Mark!

//————————————————————————

9.2 使用富士通驱动库,启动文件要统一用驱动库的启动文件

FM3

//------------------------------------------------------------------------

1.FM3使用串口printf打印调试信息步骤

A.keil

打开串口头文件(pdl_user.h文件里ON)--》添加UART驱动库文件(uart_fm3.c,mfs_fm3.c)到工程driver --》添加自己定义的UserUART.c和UserUART.h到工程(里面有重定向printf和包含stdio.h头文件),并包含进去 --》勾选option的Target的Use MicroLIB --》添加串口初始化函数UserUART_Init(USER_UART_CH1);对应的串口号要根据重定向里的串口号修改。

B.IAR

将Library Configuration 中的Library 设置由"Normal"改为"Full"

//------------------------------------------------------------------------

2.CR_Trimming要添加中断驱动,ICU 等有个中断回调函数

//------------------------------------------------------------------------

3.对Main Flash擦写,需要使用RAM code,不同的开发环境下的使用,请参考驱动库v1.0的flash章节说明。

//------------------------------------------------------------------------

4.回车的转义字符 n  r

程序完毕,开始笔记撰写

//------------------------------------------------------------------------

5.CRC,字节顺序(大小端模式)和位顺序(),软件算法。单个字节CRC时,要注意异或开关

//------------------------------------------------------------------------

6.msOS FM3_218s移植问题  需研究内核,系统框架及运行流程,硬件错误中断,多数是堆栈溢出,有调试方法。

  8.22?16:28 在FM3_218s基本移植成功,开始正常运行,串口,LED,可以运行(差不多一天时间完成)

//------------------------------------------------------------------------

7.bootloader 注意通信接收的数据和flash32位数据宽度,做适当转换。设置APP程序运行ROM起始地址,中断向量表地址修改(IAR里面只涉及到仿真的时候有用,keil里面很麻烦)

//------------------------------------------------------------------------

8\. 8.23 低功耗的问题,用keil下低功耗的程序之后,下其他程序直接死在系统初始化的晶振起振的地方,用IAR下其他程序却又OK!

时钟与低功耗之间的问题

//------------------------------------------------------------------------

9\. 8.27 Cortex-M3内核提供了一个ITM(Instrumentation Trace Macrocell)接口,

http://blog.sina.com.cn/s/blog_79b01f660101a9e7.html    通过JLink的SWD接口实现printf功能!

//------------------------------------------------------------------------

10.MQX与MQX Lite

  8.27

//------------------------------------------------------------------------

11\. 8.28 数据位数,类型,大小要注意。 short 16位,

reinterpret_cast

CopyMemory

realloc

如何:显示“内存”窗口

wave file format

//------------------------------------------------------------------------

12.8.29大数据量出问题,8000点OK!,现在由数组改为指针,还是不行,可以到19000。降低波特率可以有。现修改SerialPort类的接收函数,在其函数内直接存储,不让其每接收一个字节就发送消息,而是接收存储完成发送消息,问题解决。导致前面的问题的原因可能是大数据接收,大量发送消息 通信时序堵塞。

指针拼接有问题,文件大小比理论计算的大小减半。其实是存储文件时大小的问题,也顺带检查到拼接的错误。

//------------------------------------------------------------------------

13\. 8.30 开始优化,加入可选择波特率,设置采样率,采样点数,并优化数据结构,所有存储数据数组改为指针。固定窗口大小。用成员变量要实体化,

修复计算机没有发现串口,串口打开时出现异常。基本完成


Donate comment here