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 开始优化,加入可选择波特率,设置采样率,采样点数,并优化数据结构,所有存储数据数组改为指针。固定窗口大小。用成员变量要实体化,
修复计算机没有发现串口,串口打开时出现异常。基本完成
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论