三天入门M4 笔记

PDF文档笔记

三天入门M4 笔记

三天入门M4 笔记

Flash 启动又叫ROM启动,代码编译进ROM, 设置中断向量表地址为ROM起始地址(但是最后还是在RAM)
SRAM启动又叫RAM启动,代码编译进RAM_L,设置中断向量表地址为RAM起始地址

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

RAM 启动,common_start_up把ROM中的数据放进RAM,(这个时候没有说中断向量表),然后从RAM执行代码。中断向量表地址为RAM起始地址。
ROM启动,common_strat_up把ROM中的中断向量表、数据复制到RAM,然后从ROM执行代码。中断向量表地址为RAM起始地址。

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记

三天入门M4 笔记


使用库函数注意事项

1、通常我们延时直接用DELAY_MS(×),,,,,,DELAY_US(×)。。。具体是使用PIT还是LPTMR还是SYSTICK可以看mk60_conf.h的定义

2、FTM模块

  • 同一时间,一个FTM0拿去PWM输出,就不要再用来做正交解码、输入捕捉,或者其他事情。
  • 每一个FTM模块配置成PWM输出模式后,可以最多输出8路不同的占空比的PWM,但是它们的频率肯定是一致的。
  • PWM模式时,FTM0的通道0输出频率为20k通道1也必须,只能输出20k的pwm。

app/inc/port_cfg.h 里
三天入门M4 笔记

3、PIT0_IRQn 是在工程目录 \Chip\inc\ common.h里定义的(PIT0_VECTORn 也是)。
两者之间有这样的关系: PIT0_IRQn + 16 = PIT0_VECTORn (其他中断号也是这样)

4、串口打印函数uart_putstr的符号不能是中文?!!!

三天入门M4 笔记

5、uint8和uint8_t的一点小疑问解决

只是在不同文件中定义的而已了。。
uart_putstr (VCAN_PORT, (uint8_t *)str);//发送字符串

common.h中定义的uint8

三天入门M4 笔记

stdint.h中定义的uint8_t

三天入门M4 笔记