![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
Linux开发相关
蒋楼丶
邮箱:zsqqmail@qq.com
展开
-
Linux 内核启动流程
内核版本:4.14.0。原创 2023-12-31 14:54:39 · 380 阅读 · 0 评论 -
Linux 块设备操作函数
一样,块设备也有操作集,为结构体。原创 2023-08-06 17:08:14 · 427 阅读 · 0 评论 -
用zImage生成image.ub的方法
【代码】由zImage生成image.ub方法。原创 2023-06-30 18:31:50 · 503 阅读 · 0 评论 -
Linux设备树模板
内核版本:4.14.0。原创 2023-06-22 12:20:44 · 61 阅读 · 0 评论 -
Platform虚拟总线框架与物理总线框架的理解
就会查找与之匹配的设备(通过设备树注册),如果有的话就将两者联系起来。当我们向系统注册一个驱动(包括控制器驱动和设备驱动)的时候,原创 2023-06-20 10:53:11 · 133 阅读 · 0 评论 -
设备树之#address-cells、#size-cells、#interrupt-cells
属性值,一般reg属性都是和地址有关的内容,和地址相关的信息有两种:起始地址和地址长度,有了这两个属性,子节点中的"reg"属性就可以描述一块连续的地址区域了;是中断控制器中的属性,和#address-cells、#size-cells一样类似,表示此中断控制器下设备的。的设备节点中,用于描述子节点的地址信息。属性中描述中断信息的元素所用字的数量。这两个属性的值都是无符号32位整形,组合表示一个地址范围,其中。表明了子节点应该如何编写。这两个属性可以用在任何。这个字段所占用的字长。原创 2023-06-19 15:15:33 · 1922 阅读 · 0 评论 -
Linux 之 中断使能与禁止
函数将全局中断打开了。此时才过去2+3=5秒的时间,然后全局中断就被打开了,此时A任务要关闭10S全局中断的愿望就破灭了,然后A任务就“生气了”,结果很严重,可能系统都要被A任务整崩溃。上面三个函数都是使能或者禁止某一个中断,有时候我们需要关闭。用于使能和禁止指定的中断,irq就是要禁止的中断号。关闭全局中断10S,当关闭了2S的时候B任务开始运行,B任务也调用。函数用于禁止中断,并且将中断状态保存在。关闭全局中断3S,3秒以后B任务调用。用于使能当前处理器中断系统,用于恢复中断,将中断到。原创 2023-05-31 21:09:05 · 1649 阅读 · 0 评论 -
Linux 之 del_timer 和 del_timer_sync
函数用于删除一个定时器,不管定时器有没有被激活,都可以使用此函数删除。:0,定时器还没被激活;1,定时器已经激活。:0,定时器还没被激活;1,定时器已经激活。原创 2023-05-31 20:54:52 · 924 阅读 · 0 评论 -
xilinx zynq boot 使用tfpt加载uboot+固化到flash+使用JTAG 模式 U-boot 添加python支持
已经安装vivado 启动SDK工具,打开了Ethernet控制已经有petalinux生成的Boot.bin,zynq_fsbl.elf,image.ub使用SDK烧写Boot.bin,zynq_fsbl.el在电脑端配置tftp32的server绑定IP到192.168.1.104启动板子进入ZynpMP提示符,输入以下命令:setenv serverip 192.168.1.104setenv ipaddr 192.168.1.101tftpboot 0x30000000 image.ubbo转载 2023-05-28 16:04:40 · 1377 阅读 · 1 评论 -
ZYNQ petalinux系统启动文件固化到FLASH
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force 生成启动文件。//等待ScureCRT传递数据;所以需要把image.ub重新命名为image.ub.bin,然后再烧录( Xilinx Tools->Program Flash)(2)将拨码开关设置为FLASH启动模式,烧录image.ub文件,因为Image file只能选择.bin或者.mcs文件,转载 2023-05-02 10:52:12 · 1937 阅读 · 0 评论 -
u-boot启动过程中打印BOOTP broadcast问题解决
是引导程序协议,也称为自举协议,用于系统引导过程,是DHCP的前身,BOOTP用于无盘工作站的局域网中,可以让无盘工作站从一个中心服务器上获得IP地址,即动态获取IP地址,详见。在图形交互界面的-> Subsystem AUTO Hardware Settings -> Ethernet Settings位置取消自动获取IP的选择。工具:petalinux2018.3;在petalinux工程的根目录,以。u-boot版本:2018.01。在u-boot启动过程中打印。,如下图,非常耗时间。原创 2023-05-01 21:27:37 · 1679 阅读 · 2 评论 -
GPIO子系统、Pinctrl子系统和Input子系统
有gpio驱动程序,那必然也有pinctrl驱动程序,pinctrl驱动程序中实现了PIN的配置方法并,并注册到pinctrl子系统,所以pinctrl驱动程序就负责实现配置PIN的底层代码(主要就是寄存器控制),并注册到内核pinctrl子系统中由pinctrl子系统进行统一管理。Linux内核针对PIN的(复用)配置推出了pinctrl子系统,对于GPIO的配置推出了gpio子系统,所以说到这里就知道了,pinctrl子系统是内核中专门用于管理、配置PIN的一套子系统。Pinctrl子系统。原创 2023-05-01 15:25:57 · 294 阅读 · 0 评论 -
Linux字符设备之IO简单读写驱动模板
内核版本:4.14.0,基于设备树。原创 2023-05-01 13:46:39 · 82 阅读 · 0 评论 -
地址映射及IO内存访问
我们必须得到0xE000A000这个物理地址在Linux 系统里面对应的虚拟地址,这里就涉及到了物理内存和虚拟内存之间的转换,需要用到两个函数:ioremap和iounmap。对于32位的处理器来说,虚拟地址范围是2^32=4GB,例如CPU搭配的是512MB的DDR3,对于ZYNQ来说一个寄存器是 4字节(32位)的,因此映射的内存长度为4。,虚拟地址范围比物理地址范围大的问题处理器自会处理,这里我们不要去深究,因为MMU是很复杂的一个东西,后续有时间的话正点原子Linux团队会专门做MMU专题教程。原创 2023-04-22 15:14:04 · 762 阅读 · 0 评论 -
Linux之printk
如果使用printk的时候不显式的设置消息级别,那么printk将会采用默认级别CONFIG_MESSAGE_LOGLEVEL_DEFAULT,CONFIG_MESSAGE_LOGLEVEL_DEFAULT默认为4。的最大区别,可以通过消息级别来决定哪些消息可以显示在控制台上。默认消息级别为4,4的级别比 7 高,所示直接使用printk输出的信息是可以显示在控制台上的。控制着哪些级别的消息可以显示在控制台上,从注释可知此宏默认为7,意味着只有优先级高于7的消息才能显示在控制台上。原创 2023-04-21 15:26:25 · 330 阅读 · 0 评论 -
Linux设备号
注册字符设备的时候需要给设备指定一个设备号,这个设备号可以是驱动开发者静态的指定一个设备号,比如选择200这个主设备号。并不是说内核开发者已经分配掉的主设备号我们就不能用了,具体能不能用还得看我们的硬件平台运行过程中有没有使用这个主设备号,使用。这32位的数据构成了主设备号和次设备号两部分,其中高12位为主设备号,低20位为次设备号。,在注册字符设备之前先申请一个设备号,系统会自动给你一个没有被使用的设备号,这样就避免了冲突。命令即可查看当前系统中所有已经使用了的设备号。的数据类型表示设备号,原创 2023-04-21 10:12:37 · 232 阅读 · 0 评论 -
Linux 字符设备操作函数
我们在设备驱动开发中最主要的工作就是实现上面这些函数。的结构体,此结构体就是。在Linux内核文件。原创 2023-04-20 13:48:41 · 127 阅读 · 0 评论 -
Linux驱动分类
一个设备可以属于多种设备驱动类型,比如USB WIFI使用USB接口,所以属于字符设备,但是其又能上网,所以也属于网络设备驱动。块设备和网络设备驱动要比字符设备驱动复杂,就是因为其复杂所以半导体厂商一般都给我们编写好了,大多数情况下都是直接可以使用的。Linux驱动主要分为三大类:字符设备驱动、块设备驱动和网络设备驱动。原创 2023-04-20 11:27:48 · 478 阅读 · 0 评论 -
多核处理器的运行模式
如电力控制保护设备通常需要与人机接口实现复杂的通信和高实时性的计算能力,一般采用AMP 运行模式,一个处理器运行Linux 操作系统,另一个处理器运行裸机应用程序,从而兼顾了电力系统控制设备需要的复杂功能和实时性。而AMP 的运行模式基本没有开销问题,在运行裸机应用程序时,甚至完全没有开销,比较适合实时性要求较高的应用,但需要精心定制的软件设计来实现处理器。从软件的角度看,多核处理器的运行模式有AMP(非对称多处理)、SMP(对称多处理)和BMP(受约束多处理)三种运行模式。原创 2023-04-19 09:45:34 · 712 阅读 · 0 评论 -
Linux学习笔记
Linux个人学习笔记原创 2022-12-14 09:57:46 · 239 阅读 · 0 评论 -
linux应用编程框架
linux应用编程框架原创 2022-06-19 17:14:12 · 298 阅读 · 0 评论