BLHeli_S 代码分析---BLHeli.asm入口函数位置分析

BLHeli_S 代码分析---BLHeli.asm入口函数位置分析

查询网络资料 汇编 代码入口位置就是 Flash 的开始位置也就是0x0000位置。

BLHeli.asm文件中并未找到 0x00的位置运行相应函数,找任意一个种类电调头文件查看,此处我们查看 AIKON_Boltlite_30A.inc 文件,在该文件中找到对应0x00位置。

对应代码如下所示

asm 复制代码
;**********************
; MCU specific macros *
;**********************
MACRO Interrupt_Table_Definition
CSEG AT 0			; Code segment start
	jmp reset
CSEG AT 0Bh			; Timer0 interrupt	
	jmp	t0_int	
CSEG AT 2Bh			; Timer2 interrupt	
	jmp	t2_int	
CSEG AT 5Bh			; PCA interrupt	
	jmp	pca_int	
CSEG AT 73h			; Timer3 interrupt	
	jmp	t3_int	
ENDM

由代码可知,从0x00位置开始运行,直接跳转到 reset 位置

reset 函数所在位置在BLHeli.asm文件中的最后几行。

函数如下

asm 复制代码
CSEG AT 19FDh
reset:
ljmp	pgm_start		;无条件长转移

END

--由上文件可知入口函数为pgm_start

入口函数-pgm_start

相关推荐
2501_914245932 小时前
C语言与硬件交互:从GPIO到中断的嵌入式编程实践
c语言·单片机·交互
炸膛坦客3 小时前
单片机/C/C++八股:(二十四)编译文件( .bin 和 .hex ,包括 .elf 和 .axf )
c语言·c++·单片机
Yunhoa3 小时前
51单片机(DS18B20 数字温度传感器)
单片机·嵌入式硬件·51单片机
zlinear数据采集卡5 小时前
2mV纹波的代价:硬核拆解ZLinear模拟前端放大器与正负可调电源设计
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
Wallystech-Linda5 小时前
Exploring WiFi 7 Module Designs for Next-Generation Wireless Applications
嵌入式硬件
不上岸的旱鸭子7 小时前
PCB设计
单片机·pcb工艺
吠品7 小时前
多语言支持,从后台到前端我都趟过哪些坑
stm32·单片机·嵌入式硬件
xuxie997 小时前
start2 PWM+ADC掉电检测
单片机·嵌入式硬件
炸膛坦客7 小时前
单片机/C/C++八股:(二十三)#define 和 typedef 的区别
c语言·c++·单片机
zlinear数据采集卡8 小时前
硅片里的“自动纠错“:硬核拆解LHAMP188自动归零技术原理与三种封装的PCB布局实战
arm开发·单片机·嵌入式硬件·fpga开发·开源