随笔 - 58
文章 - 0
评论 - 4
阅读 -
34827
随笔分类 - stm32
关于stm32芯片的一些心得
bus 理解
摘要:1. 关于芯片的总线矩阵和系统框架图的理解: 芯片上包括内核,ram,flash,外设等所有的电路模块他们之间必须通过一条总线串联起来才能彼此通信,而对于stm32来说这条总线就是AHB总线。总线可以理解为连接一切电路模块的中心汇总点或树形的根 APB总线直连内核,dma,ram,flash并通过A
阅读全文
keil 使用
摘要:1. ARMCC 生成bin :fromelf --bin !L -o demo.bin ARMCC 生成asm :fromelf --text -a -c !L -o demo.asm xxd -i demo.bin //以数组形式展示bin文件,这样就不需要上位机对bin文件的拆包了。 D:\K
阅读全文
tim 理解
摘要:rtc 1: rtc是基于32768Hz的时钟工作的,因此rtc的计数寄存器数值每秒增加32768(0x8000),也可以理解为当rtc的计数寄存器数值每增加0x4000时耗时500ms。同理如果rtc的计数寄存器是16位宽的,则每次溢出(从0涨到0xFFFF)时,耗时2s。(所有定时器同理) ti
阅读全文
pm 理解
摘要:1. 在低功耗模式的设置中,内核维持供电和时钟停止不是一个概念,时钟停止内核不会往下取指和执行代码,但因为供电是维持的所以内核寄存器的值被保留,当时钟启用时可以接着 进入低功耗模式 前的状态无缝衔接的往下执行,好像什么都没发生一样。而如果进入低功耗模式前内核被断电,那么恢复供电和时钟后,内核寄存器的
阅读全文
i2c 理解
摘要:1. SDA的翻转必须要在SCL为低电平期间发生,所以先拉低SCL再操作SDA;SDA的采样必须要在SCL为高电平期间发生,所以先拉高SCL再读取SDA; 2. I2C的写数流程:S 设备地址 W A 字地址 A DATA1 A DATA2 A DATAn A P; 往设备地址是0x56的字(寄存器
阅读全文
arm 汇编
摘要:1. aarch64 == A64 == ARM 64位架构 != cortex A64, A64 涵盖 cortex A64 还包括 cortex A53,cortex A35等 2. Embedded processors 基于 ARMv7 和 ARMv8 版本下 R/M 系列的 cortex-
阅读全文
spi 驱动
摘要:概述 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是美国摩托罗拉公司(Motorola)最先推出的一种同步串行传输规范,也是一种单片机外设芯片串行扩展接口,是一种高速、全双工、同步通信总线,所以可以在同一时间发送和接收数据,SPI没有定义速度限制,通常能达到
阅读全文
fs 理解
摘要:1:普通文件的数据块里面保存的是文件数据,而目录文件的数据块里面保存的是目录里面一项一项的文件信息,目录文件的数据不占用数据块,放在inode表中的inode项中 2:被链接模块应按调用顺序先后指定,将静态库放在链接命令行的最后,本来属于ld的参数若用gcc引入则需要在参数前添加 -Wl,另2个同理
阅读全文
spi 理解
摘要:1:几个概念:SPI, DPI, QPI, OPI, SDR, DDR SPI, DPI, QPI, OPI 统称为串行外设接口spi,区别在于数据线的数目; SPI 即传统的4线制spi,4线分别为cs clk di do,标准spi为全双工,di只用于数据输入,do只用于数据输出;其余的spi均
阅读全文
boot 理解
摘要:1:bootloader有2个概念,一个是由芯片厂固化到芯片flash中指定区域的代码(stm32称这段为系统启动区,tc397称这段空间为BROM,这片区域的代码执行需要硬件boot-pin的配合,以stm23为例boot1-pin= 0;boot0-pin =1之后在芯片复位后就不会从flash
阅读全文
printf 理解
摘要:1:所有类似printf的可变参数函数,其可变形参对应的实参必须是栈变量,不能是全局/静态变量;因为va_list就是在栈的上下文工作,如果实参位于静态区,则访问不到。 形如 ... 的参数列表都是从右向左压栈,所以最右侧的表达式最先执行 { static int a = 3; printf("%d
阅读全文
systick 理解
摘要:systick 中断的优先级往往设置为最低值,而不是最高值;如果设置为最低值不会发生上图标号[6]处的情况,设置为最低可能会被其他中断抢占,延长systick的响应时间,但是这个延迟不会累计,因为systick的周期是固定的。举个例子,比如tick是1s一次,假设中断被抢占后会延迟tick中断响应1
阅读全文
pwm 理解
摘要:PWM: 假设PWM的时钟主频是 PWM_CLK_FREQ Hz,则如果需要输出频率为 xHz,占空比为 y% 的波形时, 则只需要在定时器的周期寄存器中写入(PWM_CLK_FREQ / x),在占空比寄存器中写入((PWM_CLK_FREQ / x)* y / 100u)即可。 Pwm_SetP
阅读全文
gpio 理解
摘要:NVIC :NVIC_Init(&NVIC_Initsture); 1、NVIC只是设置某一种中断的优先级,而不是打开某种中断。 2、ppp_ITConfig();才是开/关具体某种中断使能位的函数。 3、当遇到具体的中断标志位发生时,便会触发中断,需提前写好相应的中断服务函数。 AFIO :跟 A
阅读全文