arm 裸机学习笔记

位置无关码 bl 是位置无关码,指令中带的数值是,编译的时候,编译器计算好的,需要跳转的位置减去 bl 指令所在位置的结果。这样当程序最开始在 4k sram 中运行的时候,跳转的位置是在 0 + offset 的位置,当后期sdram 初始化好了之后,程序移动到 sdram 中运行的时候,跳...

mini2440 裸机程序,下载到nand 里面,复制到 sdram 中不运行

按照韦东山的视频中 sdram的裸机代码,写了一份,通过 minitools 下载到 0x30000000,然后烧录到 nand中,接过不能正常运行。 尝试过多种方法后,只有一种解决方法,就是不要用 0x30000000这个地址。 可以把 makefile 中的地址改为0x30008000,m...

bne 1b 汇编含义

汇编指令中 bne label 这条指令有以下两种特别的写法:bne 1b, bne 1f. bne 1b 指的是 backward,倒退寻找标号为 1 的地方并跳转。 同样也有 bne 1f,值得是 forward,向前寻找标号为1的地方并跳转。

mini2440 裸机程序下载到 sdram 不能运行。

今天在 写了个简单的 led 的汇编程序,下载到 mini2440 的 nand flash 里面可以正常运行,但是下载到 sdram 里面不能运行。 后来发现有几个注意点, 要在 sdram 中运行,链接脚本的地址不能像 nand 里面一样是0,必须是 sdram 里面的地址,比如说 0x...

ucosiii 学习笔记

OSTaskCreate 的参数中有一个 void *p_ext,这个参数用来传递额外的信息,可以用来传递数组,结构体等等。 AppTaskStart --> CPU_Init --> CPU_TS_Init --> CPU_TS_TmrInit --> BS...

stm32h7 开发板学习

按键和 IO 之间连接一个 1K 电阻,可以防止当 IO 被配置为高电平输出的时候,按下按键,导致 VDD 和 GND 直接连通。

stm32h7 hal 库的学习

stm32h7xx_hal_conf.h 中需要注意的几个地方: HSE_VALUE 这个外接晶振的频率 TICK_INT_PRIORITY 这个 tick 的中断优先级,因为 HAL_DELAY 这个函数是基于这个 tick 的中断的,所以如果有其他高优先级的中断中调用了 HAL_D...

hard fault 学习记录

使用 segger 的 hard fault 的源文件后,当调试时,发生硬件错误的时候,可以查看 HardFaultRegs 中的内容,并对比 segger_HardFaultHandler.c 中的定义,就能得出具体是哪种错误了。

QSignalMapper is deprecated

今天参考 qt4 的书籍,在 qt5 的平台上面,用了 QSignalMapper,结果收到警告“ QSignalMapper is deprecated"。 经过一番查找,找到了相应的说明, 参考自:https://doc.qt.io/qt-5/qsignalmapper.html...

[转] 电机驱动应用方兴未艾,瑞萨电子多款电机控制IC专为中国设计

转自: http://www.eeworld.com.cn/mp/Renesas/a22728.jspx 120°直流无刷电机和步进电机控制方式 众所周知,3个霍尔传感器之间的间隔是120°,每个霍尔信号依据旋转磁极的方向进行切换。根据3个霍尔信号的状态,就能在每60°(每个周期有6 种模式)...