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

相关推荐
碧海银沙音频科技研究院6 分钟前
基于炬芯ATS3089X音箱的音乐播放歌词显示功能实现
人工智能·驱动开发·嵌入式硬件·算法
comyccccc23 分钟前
TB6612编码电机驱动板设计全解析学习笔记
单片机·嵌入式硬件
honsor24 分钟前
以太网温湿度传感器原理与 Modbus TCP 组网实战,机房动环监控落地
网络·嵌入式硬件·物联网·网络协议·tcp/ip
碧海银沙音频科技研究院25 分钟前
基于炬芯ATS308X的离线日志存储导出功能实现
stm32·单片机·嵌入式硬件
lhbweilai30 分钟前
分析FreeRTOS内核对象API的源码实现(三)
c语言·stm32·单片机
2401_8628808237 分钟前
Linux中断、中断子系统、内核同步互斥机制
linux·驱动开发·嵌入式硬件
HRTOS44 分钟前
HRTOS 4.0 实测:8051 操作系统毫秒级任务延时精度测试
经验分享·单片机·51单片机
HRTOS1 小时前
HRTOS 4.0 实测:指定任务运行机制与任务切换耗时
经验分享·单片机·51单片机
HRTOS1 小时前
HRTOS 4.0 实测:事件阻塞与唤醒调度耗时测试
经验分享·单片机·51单片机
Tronlong创龙12 小时前
SBC‑TLT153 嵌入式 Linux 应用开发,交叉编译与 GDB 调试实践(上)
嵌入式硬件·嵌入式开发·硬件开发·工业控制·工业开发板