
嵌入式linux
文章平均质量分 61
sjxpf922
遇到问题,解决问题,记录问题,迎接问题
展开
-
Ubuntu 18.4 安装ST-Link V2
1、安装相关库和工具sudo apt-get install git make cmake libusb-1.0-0-dev sudo apt-get install gcc build-essential2、下载ST-Link进入跟目录,并创建文件夹mkdir stm32进入该文件夹目录cd stm32clone ST-Linkgit clone https://github.com/stlink-org/stlink 进入stlink路径下cd s原创 2022-03-19 16:53:47 · 1794 阅读 · 0 评论 -
Linux开发过程中遇到的问题集合 ~持续更新
1、未添加MODULE_LICENSE(“GPL”)/括号中的内容写错2、通过在串口终端输入ls proc/device-tree 命令查看设备是否成功加入,有的时候在vscode会cp失败,可通过Ubuntu终端重新cp。3、VMware 全屏设置/*主要就是安装VMware Tools*///第一步更新下载源:sudo apt-get update//第二步安装:sudo apt-get install open-vm-tools//不需要通过设置修改分辨率4、.原创 2022-03-07 22:43:44 · 501 阅读 · 0 评论 -
Linux内核中bytestream kfifo学习
定义kfifo结构体#define __STRUCT_KFIFO_COMMON(datatype, recsize, ptrtype) \ union { \ struct __kfifo kfifo; \ datatype *type; \ const datatype *const_type; \ char (*rectype)[recsize]; \ ptrtype *ptr; \ ptrtype const *ptr_const; \ }#define .原创 2022-02-22 21:16:26 · 979 阅读 · 0 评论 -
Linux系统内核中断处理为什么分为上下两个部分
linux中断分为:上半部(顶半部)与下半部(底半部)上半部:上半部就是中断处理函数,那些处理过程比较快,不会占用很长时间的处理就可以放在上半部完成。下半部:如果中断处理过程比较耗时,那么就将这些比较耗时的代码提出来,交给下半部去执行,这样中断处理函数就会快进快出。目的:Linux 内核将中断分为上半部和下半部的主要目的就是实现中断处理函数的快进快出,那些对时间敏感、执行速度快的操作可以放到中断处理函数中,也就是上半部。剩下的所有工作都可以放到下半部去执行,比如在上半部将数据拷贝到内存中,关原创 2021-08-04 22:06:58 · 2953 阅读 · 0 评论 -
Linux--字符设备开发之pinctrl、gpio子系统
1、pinctrl2、gpio原创 2020-12-19 13:01:51 · 691 阅读 · 0 评论 -
Linux开发过程中遇到的问题集合 ~持续更新
1、未添加MODULE_LICENSE(“GPL”)/括号中的内容写错原创 2020-12-17 22:49:52 · 264 阅读 · 0 评论 -
Linux--字符设备驱动开发框架(二)
在Linux–字符设备驱动开发框架(一)中已经梳理了一下字符设备驱动开发的基本流程,但是其中所用的函数不太符合现在开发习惯,有一些缺点。比如:1)设备号分配在(1)中需要我们手动定义一个主设备号,但是没法指定次设备号,就默认为0—0~1048575(2^20-1),完全被占用,造成极大浪费。除此之外,主设备号也不是我们随心所欲定义的,必须提前知道他有没有被占用。2)设备节点在(1)中设备节点还需要通过mknod手动创建加载,不人性化。3)新的开发API(1)分配设备号int alloc_chr原创 2020-11-29 12:20:54 · 154 阅读 · 0 评论 -
Linux之LED驱动开发--寄存器版
linux驱动开发一般不会直接操作寄存器,主要是学习一下地址映射。什么是地址映射?将逻辑地址(虚拟空间地址)转换为真实的物理地址。虚拟空间地址是虚拟出来扩充内存空间的,并不是扩充真实的物理地址。对于真实的物理地址,运行程序必须将程序一次性放入,这样就导致大内存程序无法在小内存地址运行,只能等待。大大降低了处理器的利用率。实际上程序运行并不需要同时把程序加载进来,虚拟地址就解决了这样一个问题,当程序运行时把需要运行的程序和数据加载进来,暂时不需要的放入交换区(硬盘–外存),这样就可以实现运行大于实际物理原创 2020-11-24 21:38:13 · 357 阅读 · 3 评论 -
解决启动linux内核时出现Loading: T T T T T T T T T T的问题
好几天没有动linux开发板了,今天连接串口终端启动内核时,出现了下图的问题原来好好的,现在启动不了了。自然而然的就会想是不是Ubuntu IP地址(serverip)和开发板IP(ipaddr)出了问题,可以ping互拼一下试试,ping外网。这些我试了一遍发现都是正常的。于是考虑是不是IP被占用了。于是关闭Ubuntu。通过windows cmd终端ping Ubuntu ip最终发现可以ping 通。所以重新换一个Ubuntu ip地址即可。但是记得重新设置serverip,bootargs。原创 2020-11-16 22:38:33 · 2266 阅读 · 0 评论 -
Linux--字符设备驱动开发框架(一)
字符设备开发具有一定的框架1、模块驱动的加载与卸载使用的函数:module_init(xxx_init);//加载xxx_init函数,在串口终端输入modprobe命令时便会调用该函数,此函数为入口函数。static int __init xxx_init(void)module_exit(xxx_exit);//卸载调用xxx_exit函数,在串口终端输入rmmod命令时,xxx_exit函数会被调用。此函数为出口函数static void __exit xxx_exit(void)2、原创 2020-11-09 22:07:53 · 358 阅读 · 0 评论 -
Ubuntu18.04桥接模式下,ping不通外网(不能上网)的解决办法
Ubuntu版本18.04网络连接模式:桥接模式我遇到的问题:Ubuntu与主机可以成功互ping,开发板可以ping通Ubuntu。但是Ubuntu不能上网,不可以ping通外网,比如ping 8.8.8.8;ping new.qq.com;ping www.baidu.com。解决办法:1、在Ubuntu终端输入命令行sudo vi /etc/network/interfaces注:加入上图红框内容即可;ens33是网卡型号,在Ubuntu终端中输入命令ifconfig即可查看;根据自原创 2020-10-20 11:04:19 · 7700 阅读 · 5 评论 -
解决Ubuntu NFS下载文件时出现卡顿并打印出T T T问题的办法
问题如下图所示解决办法在Ubuntu终端输入如下命令sudo vi /etc/hosts加入下图红框内容即可注:192.168.1.100是开发板 IP,后面是NFS共享文件目录原创 2020-10-18 17:33:41 · 1328 阅读 · 1 评论 -
Ubuntu获取gateway的命令
1、在终端中输入:route命令即可2、在终端中输入:route --help可以根据提示进行命令行操作原创 2020-10-18 16:20:31 · 1523 阅读 · 0 评论 -
u-boot NFS下载文件报错:Loading: *** ERROR: File lookup fail解决方法
u-boot version:2016.03ubuntu version:18.04ubuntu中环境配置正确,通过其他客户端能够挂载上。但是使用uboot得nfs下载命令会报错,如图所示错误(Loading: *** ERROR: File lookup fail):导致此错误得原因是:uboot中使用得NFS版本为V2版本,而ubuntu中的NFS版本为V3,V4及以上版本,从而导致uboot不能再NFS服务器中找到文件。解决办法为:让buntu中得NFS兼容V2。修改/etc/default转载 2020-10-18 15:53:36 · 1202 阅读 · 1 评论