LINUX裸机开发
文章平均质量分 81
记录
ghujlhdrx
记录点滴
展开
-
基于IMX6ULLmini的linux裸机开发系列一:汇编点亮LED
思来想去还是决定记录一下点灯,毕竟万物皆点灯嘛。原创 2023-08-17 18:16:01 · 571 阅读 · 0 评论 -
基于IMX6ULLmini的linux裸机开发系列二:使用C语言和SDK点亮LED
段是程序的基本组成元素:.text段:代码文本.rodata段:只读变量,如const修饰的变量.data段:非零的全局变量、静态变量.bss:值为 0 的全局变量、静态变量.comment:存放注释...原创 2023-08-17 21:34:13 · 300 阅读 · 0 评论 -
基于IMX6ULLmini的Linux裸机开发系列三:按键检测输入
在原理图上找到对应的引脚后即可以根据对应的图表找到真正在板字上的引脚,这里的SNVS_TAMPER1对应实际的引脚是GPIO5_IO1P1357页附近有GPIO5对应的寄存器位置,可以直接跳转。原创 2023-08-18 16:54:50 · 315 阅读 · 1 评论 -
基于IMX6ULLmini的Linux裸机开发系列四:工程文件整理和中断头文件移植
sources/project目录存放启动文件和主文件。sources/common目录存放一些通用工具。INC_DIR变量:包含所有头文件所在目录。include目录下存放sdk移植头文件。SRC_DIR变量:包含所有模块所在目录。sources目录下分模块存放文件。子模块提供函数声明头文件。设置中断相关寄存器地址。原创 2023-08-18 17:08:18 · 117 阅读 · 0 评论 -
基于IMX6ULLmini的Linux裸机开发系列五:通用中断控制器(GIC)
GIC用于管理单核或多核芯片中的中断资源ARM公司开发了4 个版本GIC规范 ,V1~V4ARMv7-A内核搭配GIC-400使用。原创 2023-08-18 18:13:48 · 139 阅读 · 0 评论 -
基于IMX6ULLmini的Linux裸机开发系列六:中断向量表
B1.8.1 Exception vectors and the exception base address (ARMv7-A架构手册)习惯放在代码的起始地方,复位中断放在代码的零地址,被定义的指定中断放在代码的第四个字节的位置。B1.3.1 ARM processor modes (ARMv7-A架构手册)3.2 Cortex A7 interrupts (芯片数据手册)等中断真正发生的时候,自动跳转指定位置(基址+偏移)通过触发不同类型的中断,系统进入到相应的运行模式。描述了不同的中断类型。原创 2023-08-18 20:52:38 · 107 阅读 · 0 评论 -
基于IMX6ULLmini的linux裸机开发系列七:中断处理流程
cpu通过内核寄存器来运行指令并进行数据的读写处理的,它在进入中断前一个时刻的具体值,称为中断上下文中断上下文是指CPU在进入中断之前保存的寄存器状态和其他相关信息。当CPU接收到中断请求时,它会保存当前正在执行的指令的状态,并将寄存器的值切换到一个特定的上下文中,以便处理中断。(保护现场)中断上下文包括了CPU寄存器的值、程序计数器(PC)的值、堆栈指针(SP)的值,以及其他与中断处理相关的状态信息。这些信息被保存在内存中的特定位置,通常称为中断向量表或中断描述符表。原创 2023-08-19 15:04:27 · 372 阅读 · 0 评论 -
基于IMX6ULLmini的linux裸机开发系列九:时钟控制模块
刚上电时,PLL1时钟未初始化,arm内核先使用24M晶振频率,等PLL1时钟稳定输出后,再切换回PLL1时钟。pll1_main_clk时钟源设置为 step_clk或pll1_main_clk。528_PLL:频率固定是528MHZ,倍频参数固定为22,系统总线时钟。CCM_CCSR:选择pll1_sw_clk、step_clk时钟源。设置PPL时钟主频(pll1_main_clk)step_clk时钟源设置为24M晶振。ARM_PLL:驱动 ARM 内核。VIDEO_PLL:驱动视频接口。原创 2023-08-20 16:27:29 · 375 阅读 · 0 评论 -
基于IMX6ULLmini的linux裸机开发系列八:按键处理实验
_ASM ( code : 输出操作数列表 : 输入操作数列表 );通过%加数字引用,比如%0 引用第一个操作数,%1 引用第二个操作数。中断优先级设置:GICD_IPRIORITYR。中断清除: GICD_ ICENABLERn。抢占优先级和子优先级设置: GICC_BPR。中断使能:GICD_ISACTIVERn。通知cpu中断完成:GICC_EOIR。中断优先级数量:GICC_PMR。中断数量:GICD_TYPER。保存中断ID:GICC_IAR。C语言读写cp15协处理器。原创 2023-08-19 16:17:14 · 293 阅读 · 0 评论