摘要: 前言: 我们使用嵌入式设备,使用任意一款芯片来完成、实现某些功能,本质就是操作GPIO引脚,而操作引脚本质就是操作芯片内部的寄存器,当然了,要结合对应的电路原理图来操作。因此,使用嵌入式芯片本质就是去操作芯片的寄存器。我们在学习的时候有自底向上和自顶向下两种方法,并没有好坏之分,只有合适与否。如果有 阅读全文
posted @ 2024-04-09 01:01 tstars 阅读(173) 评论(0) 推荐(0)
摘要: 前言,没事就碎碎念 以前跟着正点原子的文档做过一两个简单驱动程序实验,但是总感觉思路不够清晰,后面看韦东山的视频,发现二者结合起来刚好合适,其中韦东山视频理论和框架讲的清楚,正点原子的更像是他们开发板的使用手册。 一开始学习驱动,我感觉比较合适的路线是先简单过一遍裸机,跟着正点原子教程体验一遍ubo 阅读全文
posted @ 2024-04-05 16:15 tstars 阅读(411) 评论(0) 推荐(0)
摘要: 1、file hello 查看文件类型 可以看到文件类型是x86_64,它是不能在ARM架构上运行的,因为它们的指令集不同。我们需要使用交叉编译工具比如arm-linux-gnueabihf-gcc来编译hello.c才能得到在ARM上运行的可执行文件 可以看的此时是32bit,ARM架构上的可执行 阅读全文
posted @ 2024-04-03 16:12 tstars 阅读(48) 评论(0) 推荐(0)
摘要: 前言:绝大多数嵌入式开发都使用uboot作为bootloader,uboot可以看作是一个框架,在编译时需要指定设备文件才能够编译得到对应板子的uboot,这个设备文件就相当于参数表,描述了这个板子长什么样子。在uboot里不用记住所有命令的用法,当需要查看某个命令的用法和介绍时,输入? 命令或者 阅读全文
posted @ 2024-03-30 21:44 tstars 阅读(268) 评论(0) 推荐(0)
摘要: 操作系统中常用信号量相关系统调用函数用法 1、sem_open:用于创建或打开一个命名的信号量。 点击查看代码 #include <semaphore.h> sem_t *sem_open(const char *name, int oflag, mode_t mode, unsigned int 阅读全文
posted @ 2024-03-29 19:19 tstars 阅读(258) 评论(0) 推荐(0)
摘要: 1、open函数 点击查看代码 #include <fcntl.h> //头文件 int open(const char *pathname, int flags, mode_t mode); pathname: 要打开文件的路径名; flags:用于指定文件的打开方式和行为,以下是一些常见的标志, 阅读全文
posted @ 2024-03-19 21:37 tstars 阅读(91) 评论(0) 推荐(0)