
linux系统移植
文章平均质量分 69
主要描述在嵌入式设备上进行linux系统移植的步骤,以及在移植过程中遇到的一些问题的总结
嵌入式小胖
一个自命不凡的电子厂打工仔
展开
-
推荐几个ubuntu16.04的下载地址
做linux驱动开发的人必须要使用linux桌面系统来编译程序。这里提供几个国内的下载地址ubuntu16.04下载地址: 中科大源http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/ 阿里云开源镜像站http://mirrors.aliyun.com/ubuntu-releases/16.04/ 兰州大学开源镜像站http://mirror.lzu.edu.cn/ubuntu-releases/16.04/ 北京理工大学开源http://mi...原创 2021-04-17 14:06:40 · 346 阅读 · 0 评论 -
U-boot的环境变量: bootcmd 和bootargs
bootcmd是uboot自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置bootcmd为你经常使用的那种参数。现在我的bootcmd的参数设置为:bootcmd=nfs 0x30008000 192.168.1.149:/opt/FriendlyARM/uImage;bootm表示uboot以nfs的方式加载位置在于192.168.1.149:/opt/FriendlyARM/这个目录下面的uImage文件,加载之后再执行bootm。bootm 指原创 2021-03-17 16:30:36 · 1114 阅读 · 2 评论 -
如何构造linux根文件系统
1. 什么是linux根文件系统?这个概念其实我也花了很久才明白,一开始一直分不清根文件系统与yaffs文件系统、ex2文件系统、jffs2文件系统的区别,下面就讲讲这个linux根文件系统到底是何方神圣。我们拿windows下的定义来类比吧,因为大部分人对windows操作系统还是比较熟悉的。文件系统就是把闪存中地址与数据的关系按照一定的规则组织起来,对用户提供一个比较方便的操作接口。可以想想,如果没有文件系统,你想要在你的PC的D盘里找一个视频文件,那就需要你自己去对D盘进行寻址,再取出对应地址原创 2021-03-07 15:54:05 · 415 阅读 · 1 评论 -
在嵌入式设备上移植tcpdump功能
最近研究了下如何在嵌入式设备上移植tcpdump的功能,tcpdump是一款款用来截取网络数据的工具,在嵌入式系统中常用来抓取和分析网络数据包。在这里我们着重讲下如何在嵌入式的系统中使用tcpdump。1. 下载libpcap源码和tcpdump源码可能有人会问,为什么要下载libpcap源码呢?我只是安装个tcpdump,不想安装libpcap啊。但其实你在安装tcpdump时就会发现,tcpdump的编译过程是基于libpcap提供的库文件进行操作的,这点也可以在tcpdump的configur原创 2021-03-02 17:14:50 · 1644 阅读 · 0 评论 -
linux打实时补丁以及实时性能测试
在工业产品中使用操作吸引,一般都需要使用实时性较强的操作系统,而众所周知,linux系统是基于时间片划分的非实时系统,其实时性难以满足工业化对时效性的要求,因此很多应用场景中无法使用linux操作系统。当然这一局限性已经有所改善,目前linux社区已经增加了众多版本的实时补丁,只要给linux内核打上实时补丁,其实时性会得到大幅度提升。在此,我们就讲讲如何给linux内核打补丁以及如何测试linux系统的实时性。一、给linux打实时补丁我们以linux-xlnx-xilinx-v2017.4.原创 2020-11-10 15:14:28 · 8737 阅读 · 0 评论 -
移植linux系统至zynq板卡--简单实用
如何移植linux系统至zynq板卡上呢?这里我们只讲方法,不讲原理,适合小白参考!一、必要信息假设你手上有一块zynq的板卡,现在你需要给板卡搭载一个linux操作系统,以及开发一些接口模块的驱动程序。那么首先你需要知道板卡的原理图,原理图中你需要关注以下几点: zynq具体型号 zynq启动方式 DDR型号 FLASH型号 uart引脚约束 二、搭建BD平台利用vavido软件搭建BD平台,这部分不会的可以直接参照我的另外一篇博客《zynq原创 2020-11-08 12:00:51 · 947 阅读 · 0 评论 -
windows能ping通linux板卡,但linux板卡却ping不通windows
在板卡上移植linux网卡驱动,修改完设备树后,看到linux的启动信息中打印了很显然,linux启动时完成了mac和phy的初始化工作,按道理网口应该能够正常通信了,于是,试着在linux命令行里输入ping 192.168.1.24(PC的以太网IPv4地址),却发现ping不通;反过来,在windows的命令行里ping 192.168.1.10(板卡的ip地址),却可以ping通。显然,网口的链路层应该是可以正常通信的,估计是上层应用阻止了网络访问,查看PC的防火墙状态,发现PC未关原创 2020-10-27 10:40:23 · 2009 阅读 · 0 评论 -
linux操作系统的文件属性
linux文件系统中的文件属性有三种:r : 4(可读) w : 2(可写) x : 1(可执行)linux系统中文件夹的默认权限是755。通常,在linux系统中,查阅文件属性都是通过命令行来实现的,一般建议用 ls -ld文件夹名称来查询文件夹的读写权限。...原创 2020-05-07 21:05:45 · 399 阅读 · 0 评论 -
LINUX内存池实现
在LINUX应用程序中,业务需求上需要利用DMA来进行数据搬移的操作,但由于LINUX应用程序中访问的都是虚拟地址,且这个虚拟地址对应的物理地址并不一定是连续的。而DMA的操作是针对物理地址来实现的,且必须是连续的物理地址,来满足突发数据的传输。这就涉及到如何来处理虚拟地址与DMA操作之间的关系了。 实现虚拟地址和DMA地址之间的统一性,可以利用如图1所示的方法: ...原创 2020-03-21 20:14:17 · 653 阅读 · 0 评论 -
LINUX预留内存的实现
在LINUX应用开发中,可能需要使用连续的物理地址来存储一些数据或者进行DMA操作,但是由于LINUX具备MMU功能,MMU模块会自动的将物理地址与虚拟地址之间建立页表对应关系(但并不是线性对应),用户能访问的只是虚拟地址,虚拟地址上的连续并不一定代表物理地址上的连续。如果需要使用连续的物理地址,就需要进行预留内存,来将一部分内存保留起来,不用做LINUX建立页表使用,也就是说用户程序...原创 2020-02-18 17:43:18 · 3707 阅读 · 0 评论 -
u-boot程序框架
u-boot程序框架_start:(u-boot\arch\arm\cpu\armv8\start.S) b reset b save_boot_params //保存重要的寄存器数据 .globl save_boot_params_ret bl l...原创 2019-08-30 14:18:38 · 635 阅读 · 0 评论 -
利用NFS来挂载文件系统问题总结
嵌入式开发,如果使用nfs挂载来启动内核和文件系统,这样便于调试文件系统和驱动,则首先要保证ubuntu开启nfs服务。执行以下命令安装nfs服务,安装后自动运行sudo apt-get install nfs-kernel-server配置其配置文件sudo vi /etc/exports 在里面增加想要挂载的文件路径#11 /work/nfs_root *(rw,sync...原创 2019-03-26 19:11:31 · 1470 阅读 · 2 评论