FM3和FSL(M0+)问题Mark
7.15
以下是我今天的一些笔记或是值得注意不懂的 一个小结:
1.资料,平台,工具的发放,准备
2,总线地址。寻址
3.内核+外设,内核的概念。
4.内存保护单元的利用。比如故意出错等。
5.nm工艺(成本)与EMC的权衡。
6.看内存
7.两种keil,IAR开发环境的配置,驱动库的移植。
8.启动文件不要公用
9.hex bin文件烧写的区别
10.flash的擦除,主要是flash的分块,有些型号的是不同的
11.时钟配置, 启动代码 SysTick内核定时器, GPIO ,bit band 存储器映射。
技术培训的第一天 ,确实就开始感受到了这次培训的强度,学习的内容多,时间紧,所以技术培训开始的第一天就开始加班了,可能这才进入节奏,虽然一天下来高强度地接收一大堆东西,有点小累,但是很有收获很充实。
-------------------------------------------------------------------------------
7.16
以下是我今天的一些笔记或是值得注意不懂的一个小结:
1.IAR下.flash文件 .board文件
2.boot升级,flash加密
3.NVIC 嵌套向量中断控制器 优先级(子优先级,抢占优先级)
4.程序跳转,地址SP PC ,双操作单操作flash,flash升级。
5.看门狗定时器,软 硬件看门狗区别及用途。喂狗,复位,中断
6.作业1讲解 PLL = /K *N *M /M M的作用。
7.BT,Base Timer, RT ,PWM, PPG
8.低功耗模式,SLEEP ,TIMER, STOP 三种模式的一些差异,及注意事项。
相比以前接触的M3的东西,可能是产品比较新,相关的资料,支持比较少,驱动库还不是很完善,底层的一些东西(内核,地址等)以前也接触的比较少,也没怎么研究,开始比较吃力,现在逐渐开始上手了,进入正轨了,毕竟基于驱动库的编程都是大同小异了,思想,思路都是差不多,只是略微的一些差异,没有ST的驱动库详细全面而已。
---------------------------------------------------------------------------------
7.17
1.vincent 示波器的一些操作及注意事项。接地,sweep触发方式(auto,,single)捕获信号,使用接头的一些小技巧, roll扫描模式等。
2.进低功耗模式调试接口关闭。
3.中断向量表的一些有效利用
4.完善消化理解前面的一些东西和作业,
5.中断唤醒 低功耗模式,要再次进入低功耗。
6.多功能串口,UART时序分析,SPI时序分析
7.ADC,DMA的一些功能介绍,例程分析。
----------------------------------------------------------------------------------
7.18
1.简单了解USB了的一些基本知识(简介,发展,协议)。USB的线上的阻抗匹配,FS/LS速度识别(硬件上拉电阻),HS速度识别,动态加载某设备会产生强电流,FM3的USB的一些特征。
2.USB的HID类,USB插入检测过程机制,USB枚举过程,USB描述符(备描述符、配置描述符、端点描述符等),USB HID设备报告描述符详解,USB调试软件工具Bus Hound的使用和一些基本功能。
3.完善前面的PWM,串口程序。
4.实验:FM3板(MB9F218S)的USB移植实验(USB时钟设置,中断入口,IO功能引脚)
5.通过USB boot升级程序的大致过程和基本原理。
----------------------------------------------------------------------------------
7.19
1.了解了Ethernet的一些简单概念,物理连接介质, Fujitsu Ethernet功能,结构描述,数据链路层MAC,以太网连接的一些典型电路,物理层PHY,以太网帧结构和分用过程,TCP/IP协议栈,数据格式分析。
2.TCP/IP协议栈的一些简单了解,TCP/IP的具体实现,LwIP & uIP介绍,通过具体例程学习了LwIP & uIP的实际使用过程,测试实验:使用LwIP进行UDP和TCP通信测试实验。综合实验:一个学习板做TCP服务器,一个学习板做TCP客户端,实现两块板子间相互通信。
//3.自己计划LwIP1.4在富士通板子上(MB9F128S)的移植(无OS),加入新的驱动库,以便以后的学习和使用(暂定)
4.自己计划综合实验(前面的AD,PWM,以太网,DMA,UART等综合)
5.一周的富士通FM3的培训结束了,课程也基本上跟着学完了,很多东西都只有在实践中才能检验出来,也只有通过后面的实践,后面的工作不断地巩固,不断地完善,才能更好地服务于工作。
-----------------------------------------------------------------------------------
7.22
1.飞思卡尔M0+的整体了解,包括多种系列外设的一些比较,几种低功耗模式,ARM Cortex M0+的一些特点。
2.FSLM0+开发环境的配置,调试模式的配置,新建工程的一些注意事项,FSLM0+的GPIO介绍,一些简单的使用操作,进行GPIO闪灯+按键检测实验。
3.MCG 时钟模式之间的区别与对比,时钟模式之间的切换过程及关系。时钟模式切换,分析例程分析和实验。
4.中断,中断优先级,中断向量表,不可屏蔽中断NMI
-----------------------------------------------------------------------------------
7.23
1.WDOG 窗口看门狗的特点及意义。相关寄存器的对应配置,例程demo程序分析,可能由于硬件原因,看门狗好像无法正常工作。
2.PIT的功能,作为触发源,PIT的框图,相关的例程example分析。
3.RTC的时钟源,OSC对RTC时钟源的影响,相关寄存器说明,例程程序分析,可能由于硬件原因,外部32768晶振无法正常工作,导致RTC的外部时钟源不可用。
4.LPTMR的模块概况,几种操作模式,相关寄存器的配置。LPTMR的几种功能说明:LPTMR比较,LPTMR计数器,LPTMR硬件触发器,LPTMR中断等,例程分析。
5.TPM模块的整体架构,及大致工作原理。TPM模块相关功能:计数器,输入捕捉模式,输出比较模式,边沿对齐PWM(EPWM)模式,中心对其PWM模式(CPWM)TPM中断等等,对应库函数说明,分析。
------------------------------------------------------------------------------------
7.24
1.DMA 周期性触发模式仅适用于渠道0-1,flash赋值要通过寄存器操作,数据传输时间对比实验(直接赋值,指针,DMA) 32bit的传输
2.UART 0低功耗串口,过采样,发送接收中断的触发(start,stop,re-start等),特殊的10bit地址模式,中断源,地址匹配,例程代码实验,分析,与DMA的综合实验。
SPI,协议时序分析,多种工作模式,FIFO模式,SPI传输DMA,SPI时钟格式分析。
4.飞思卡尔M0+的USB电压调节器。
5.软件模拟I2C
------------------------------------------------------------------------------------
7.25
1.SPI的调试,SCL,MOSI看到数据波形,这也是后面用SPI操作SD卡的基础
2.SD的一些简单知识了解(硬件,及发展),SPI模式下操作SD卡初始化,实现简单的读写。
3.硬件错误中断可能的原因(时钟配置,O初始化),示波器的触发电平要合适,系统滴答时钟的作用
4.FAT32文件系统的简单了解,其发展过程和一些基本的知识,移植时候的注意事项和关键点。
5.FAT32文件系统在飞思卡尔M0+上的简单移植。
6.清零的模式,好像不习惯被动接受的这种模式。
------------------------------------------------------------------------------------
7.26
1.COMP 滞环特性
2.DAC + OMP,初始化的先后顺序,中断开启或功能使能最好最后操作,引脚干扰问题
3.M0+ ADC,时钟MHZ, 同步采样问题,各种低功耗模式下的,LSB的含义,内部温度传感器
4.重定向printf函数
MDK(keil)工程属性的“Target“-》”Code Generation“中勾选”Use MicroLIB
#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to ’Yes’) calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/**
* @brief Retargets the C library printf function to the USART.
* @param None printf
* @retval None
*/
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
//UART0_PutStr( (uint8_t*)ch);
while( !(UART0_S1&UART_S1_TDRE_MASK));//
UART0_D = (uint8_t)ch;
return ch;
}
5.周末:RTC+LCD+UART+ADC_TEMP综合调试完成,主要问题是段式的显示驱动
6.python 语音识别,语音操作,利用周围的一切可以利用的工具或资源(编程语言或是软件工具等),只为能高效地实现自己的东西,如此下去,从而达到一个很好地良性循环。
-----------------------------------------------------------------------------------
7.29
1.复习回顾上周学的一些东西。
2.各种低功耗模式分析,对比,和其他产品的对比(48M,),各种低功耗模式下各外设的情况,低功耗模式唤醒源介绍及对比。能耗。进入低功耗模式之前,最好delay以下。
3.整机时,进入低功耗之前要每个IO初始化(低电平(悬空),高电平(上拉))。
4.低功耗实验:Vlps_LPTMR实验,LLS低功耗模式下LPTMR中断唤醒实验,BLPI时钟模式下Vlpr低功耗实验
5.切换时钟源之后要更新内核时钟 SystemCoreClockUpdate(); 注意时钟源的选择。
6.进入LLS或VLLSx模式之前,(具备唤醒功能的外设)外设中断标志必须由软件清零才可以进入,以避免立即退出模式。
对一个外部输入引脚,过滤和未过滤的相关的标志,也必须清除,在进入LLS或VLLSx模式之前。
7.低功耗模式切换时,注意外部主时钟的开启与关闭。
-----------------------------------------------------------------------------------7.30
-----------------------------------------------------------------------------------
7.31
1.时钟选择,IO复用了。 9.37 100.6 11.736
2.Edge_Aligned_PWM的模式与占空比的控制要相匹配,Edge_Aligned_PWM_Highpulses/Edge_Aligned_PWM_Lowpulses,控制方向是相反的。
3.值溢出错误
------------------------------------------------------------------------------------
8.2
1.晶振匹配电容,起振,很微妙,几个pf
2.VCWizards/2052/Common.js
VCWizards/AppWiz/MFC/Application/html/2052/GetnerateClasses.htm
解决VS2012 新建工程 上两个JS脚本运行不了,用安装光盘修复
3.莎士比亚 说过,简洁才是美! 《漫画半导体》,越简单越好,不论是交互还是学习,方法论,1:3:6
4.要有市场概念,市场意识,只有有人用的东西才是好东西,不能闭门造车。
http://www.admin10000.com/document/2411.html Do the right thing, Wait to get fired
敢于去冒险,风险分析,成本(时间)分析,发展空间分析,短长时间阶段分析,SWOT分析
抓住key
//----------------------------------
10.25
FSL KL系列BootLoader程序,S19文件
Keil生成S19文件:
在option的user选项的run user program After Build添加命令行:
fromelf --m32combined --output=outfile.s19 .axf文件路径
BootLoader程序解决,修改上位机源代码,Keil 生成的S19文件开始的存储的起始地址始终为0x400
S19
//----------------------------------
12.4
Flash操作,首先检查Flash的类型,使用RAM Code,Keil和IAR不同,是否中断,通信口记得要禁用模拟输入
程序过大,进硬件错误中断,可以考虑RAM大小及堆栈大小,.s文件里面
生成bin
fromelf --bin --output .oot.bin .objBt2E.axf
//----------------------------------
富士通 读保护:读保护写不进去,即0x0001写不进0x00100000地址
修改驱动库函数 ,
14-7.28
Keil将库文件或是C文件编译到指定地址,优化选项的:One ELF
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论