Linux
文章平均质量分 93
Linux学习笔记
H2Z20Str
这个作者很懒,什么都没留下…
展开
-
Linux学习笔记13---GPIO 中断实验
中断系统是一个处理器重要的组成部分,中断系统极大的提高了CPU 的执行效率,本章会将I.MX6U的一个IO作为输入中断,借此来讲解如何对 I.MX6U的中断系统进行编程。原创 2024-09-23 18:07:50 · 928 阅读 · 0 评论 -
Linux学习笔记12---主频和时钟配置实验
I.MX6U 的所有外设时钟源都是从这7路PLL和有些PLL的 PFD 而来的,这些外设究竟是如何选择PLL或者PFD的?这个就要借助《IMX6ULL参考手 册》里面的时钟树了,在“Chapter 18 Clock Controller Module (CCM)”的18.3小节给出了I.MX6U 详细的时钟树图,如图所示:在图中一共有三部分:和SYSTEM CLOCKS。其中左边的就是我们上一小节讲解的那7路PLL和 8 路PFD,右边的。原创 2024-09-06 17:10:24 · 1118 阅读 · 0 评论 -
Linux学习笔记11---按键输入
I.MX6U 的 IO 不仅能作为输出,而且也可以作为输入。I.MX6U-ALPHA 开发板上有一个按键,按键连接了一个 IO,将这个 IO 配置为输入功能,读取这个 IO 的值即可获取按键的状态(按下或松开)。本章通过这个按键来控制蜂鸣器的开关。原创 2024-08-30 11:24:18 · 689 阅读 · 0 评论 -
Linux学习笔记10---蜂鸣器
beep.c 文件一共有两个函数:beep_init 和 beep_switch,其中 beep_init 用来初始化 BEEP 所使用的 GPIO,也就是 SNVS_TAMPER1,将其复用为 GPIO5_IO01,和上一章的 LED 灯初始化函数一样。前几章试验中的驱动 LED 灯亮灭属于 GPIO 的输出控制,本章再巩固一下 I.MX6U 的 GPIO输出控制,在 I.MX6U-ALPHA 开发板上有一个有源蜂鸣器,通过 IO 输出高低电平即可控制蜂鸣器的开关,本质上也属于 GPIO 的输出控制。原创 2024-08-07 20:23:21 · 703 阅读 · 0 评论 -
Linux学习笔记9---BSP 工程管理实验
一个工程的功能越多,所需要的功能文件就越多,那么文档就会更大,显得很混乱,所以我们需要对这个工程进行整理,将源码文件分模块、分功能整理。原创 2024-05-13 11:51:22 · 1274 阅读 · 0 评论 -
Linux学习笔记8---官方 SDK 移植实验
在上一章中,我们参考 ST 官方给 STM32 编写的 stm32f10x.h 来自行编写 I.MX6U 的寄存器定义文件。自己编写这些寄存器定义不仅费时费力,没有任何意义,而且很容易写错,幸好NXP 官方为 I.MX6ULL 编写了 SDK 包,在 SDK 包里面 NXP 已经编写好了寄存器定义文件,所以我们可以直接移植 SDK 包里面的文件来用。虽然 NXP 是为 I.MX6ULL 编写的 SDK 包,但是 I.MX6UL 也是可以使用的!原创 2024-05-11 15:54:31 · 840 阅读 · 0 评论 -
Linux学习笔记7---仿STM32自建寄存器库
根据结构体 GPIO_Type的定义,其第一个成员变量为DR,也就是 DR寄存器,I.MX6U 一共有通过上面三步我们就可以通过“GPIO1->DR”来访问 GPIO1的DR寄存器了。同样的,其他的外设寄存器都可以通过这三步来定义。原创 2024-05-11 15:53:55 · 922 阅读 · 0 评论 -
Linux学习笔记6---C语言编写LED灯程序
在编写C语言程序之前,需要用汇编语言编译一个启动程序,将我们的程序跳转到main函数执行。原创 2024-05-10 10:10:13 · 1066 阅读 · 0 评论 -
Linux学习笔记5---WSL2编译裸机程序并烧录至SD卡
此时,生成了.imx (可在Linux下用dd命令烧录), img (可在windows下用Win32DiskImager烧录SD卡)。load.img的内容是在load.imx基础上偏移了1K 字节,这样可以直接烧录到SD卡。正点原子的imxdownload由于包含了烧录的功能,但在WLS上无法识别SD卡,因此无法使用,所以可以将imxdownload的烧录功能都取消,让程序生成一个可烧录的镜像文件即可。那程序不就不能烧录到SD卡上了?写入成功后将SD卡插回开发板上,选择SD卡启动,程序成功运行。原创 2024-05-10 10:09:34 · 936 阅读 · 0 评论 -
Linux学习笔记4---点亮LED灯(汇编裸机)
本系统学习利用的是正点原子的阿尔法mini开发板,本系列的学习笔记也是按照正点原子的教程进行学习,但并不是利用虚拟机进行开发,而是使用Windows下的子系统WSL进行学习。因为 Cortex-A 芯片一上电 SP 指针还没初始化,C 环境还没准备好,所以肯定不能运行 C 代码,必须先用汇编语言设置好 C 环境,比如初始化 DDR、设置 SP指针等等,当汇编把 C 环境设置好了以后才可以运行 C 代码。所以 Cortex-A 一开始肯定是汇编代码。原创 2024-05-09 17:43:52 · 1342 阅读 · 0 评论 -
Linux学习笔记3---WSL2交叉编译
ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译器,在上一章里面已经讲解了如何在 Liux 进行 C 语言开发,里面使用 GCC 编译器进行代码编译,但使用的 gcc 编译器是针对 X86 架构的!交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。交叉编译器有很多种,我们使用 Linaro 出品的交叉编译器,Linaro 是一间非营利性质的开。原创 2024-05-09 17:43:18 · 556 阅读 · 0 评论 -
Linux学习笔记2---Makefile
一个工程中的源文件不计其数,按期类型、功能、模块分别放在若干个文件中,MakeFile文件定义了一系列的规则来制定哪些文件需先要编译、哪些文案需要后编译、哪些文件需要重新编译、甚至于进行更加复杂的操作,因为Makefile文件就像是一个shell脚本一样,也可以执行操作系统的命令。原创 2024-05-08 08:55:17 · 1022 阅读 · 0 评论 -
Linux学习笔记1---Windows上运行Linux
在正点原子的教程中学习linux需要安装虚拟机或者在电脑上安装一个Ubuntu系统,但个人觉得太麻烦了,现在linux之父加入了微软,因此在Windows上也可以运行linux 了。原创 2024-05-08 08:54:52 · 1733 阅读 · 0 评论