
嵌入式Linux学习笔记
小佳不爱单片机
嵌入式菜鸟
展开
-
嵌入式Linux学习笔记13——输入子系统框架及驱动编程
硬件平台:S3C2440开发板操作系统:Linux一、输入子系统框架二、驱动编程,通过开发板的四个按键实现L、S、ENTER、SHIFT四个按键的功能①结构体定义struct pin_desc{ int irq; char *name; unsigned int pin; unsigned int key_val;};//引脚描述结构体struct pin_desc pins_desc[4] = { {IRQ_EINT0, "S2", S3C2410_GPF0 , KEY_L}原创 2020-09-16 17:25:25 · 303 阅读 · 0 评论 -
嵌入式Linux学习笔记12——命令行方式启动时main函数中argc和argv的简单用法
int main(int argc, char **argv){ int fd; int val = 1; fd = open("/dev/xyz",O_RDWR); if(fd < 0) { printf("can't open!\n"); } if(argc != 2) { printf("Usage :\n"); printf("%s <on|off>\n", argv[0]); } if(strcmp(argv[1], "on") == 0) {原创 2020-09-08 08:37:47 · 864 阅读 · 0 评论 -
嵌入式Linux学习笔记11——S3C2440挂载NFS根文件系统时报错及解决办法
环境:虚拟机:Ubuntu 18.04文件系统:fs_mini_mdev.yaffs2uboot:u-boot-1.1.6_jz2440内核:linux-2.6.22.6_jz2440报错:uboot不能够继续加载文件系统,处于卡死状态VFS: Unable to mount root fs via NFS, trying floppy.VFS: Cannot open root device “nfs” or unknown-block(2,0)原因:Ubuntu 17.10 之后原创 2020-09-06 07:39:02 · 428 阅读 · 0 评论 -
嵌入式Linux学习笔记10——关于Makefile的简单使用
①Makefile简介:在Linux中使用make命令来编译程序,特别是大程序。而make命令所执行的动作依赖于Makefile文件。②Makefile的核心——"规则"③Makefile的基本语法结构:目标:依赖1 依赖2 …[TAB]命令注意:当“目标文件”不存在或者某个依赖文件比目标文件“新”时,则执行“命令”④Makefile的简单语法:1、%.o:通配符,表示 “.o” 类型的文件2、$@:表示 “目标”3、$<: 表示第一个依赖文件4、$^:表示所有依赖文件5、.原创 2020-08-19 17:33:32 · 220 阅读 · 0 评论 -
嵌入式Linux学习笔记9——解决undefined reference to `__aeabi_uidivmod'和undefined reference to `__aeabi_uidiv'错误
学习ARM裸机开发的过程中在linux-gcc 4.4.3编译器中进行编译的时候出现了报错报错内容为__aeabi_uidivmod和 __aeabi_uidiv通过查询了解到主要是因为编译器不支持硬件除法运算,缺少libgcc.a静态库等问题。解决方法如下:方法一:1.去对应的目录找到 libgcc.a 文件,输入命令【locate libgcc.a】就可以查找到文件的路径2....原创 2020-04-19 19:51:54 · 1277 阅读 · 1 评论 -
嵌入式Linux学习笔记8——解决“arm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00000000”问题
在使用arm-linux-gcc工具编译汇编文件的时候,当执行arm-linux-ld操作的时候,系统显示“arm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00000000”原因:链接器在做程序链接的时候没有找到 _start 这个符号。(_start 是 arm 汇编程序的入口)解决方法:在 _st...原创 2020-04-02 19:41:00 · 6421 阅读 · 0 评论 -
嵌入式Linux学习笔记7——Ubuntu18.04安装arm-linux-gcc5.4.0交叉编译工具
①下载arm-linux-gcc-5.4.0(网络搜索或者联系我)②进入超级用户模式,在/usr/local目录下新建arm文件夹,并设定最高权限。之后进入arm文件夹 1. horse@horse-virtual-machine:~$ sudo su 2. root@horse-virtual-machine:/home/horse# cd /usr/local/ 3. root@ho...原创 2020-04-02 16:09:25 · 985 阅读 · 2 评论 -
嵌入式Linux学习笔记6——Ubuntu网络设置wired消失问题的解决方法
某天打开Ubuntu时,发现系统不能够连接网络。进入网络设置,发现以前的wired选项没有了,无法进行网络设置:以下步骤可以解决上述问题:①在Ubuntu终端输入【sudo su】,再输入密码进入root超级用户模式,然后输入【gedit /etc/NetworkManager/NetworkManager.conf】进入文本编辑页面②将【false】改为【true】,然后点击右上方【保...原创 2020-04-02 11:45:21 · 7911 阅读 · 2 评论 -
嵌入式Linux学习笔记5——Ubuntu与开发板ping不同的解决方案
连接方式:通过网线将开发板和电脑连接①进入u-boot命令模式,输入命令【set ipaddr 192.168.1.22】设置开发板的IP地址(确保和电脑主机IP地址位于同一网段,即前三位数字相同),再通过【save】保存设置,如下图:②在Ubuntu终端输入【sudo su】进入root超级用户模式,然后输入【gedit /etc/network/interfaces】,按照下图进行编辑:...原创 2020-03-24 18:30:54 · 1957 阅读 · 0 评论 -
嵌入式Linux学习笔记4——关于jz2440开发板ping不通电脑主机和Ubuntu虚拟机的解决办法
实验环境:jz2440开发板win10Ubuntu虚拟机网络连接:电脑连接路由器wifi,开发板通过网线直连电脑jz2440开发板ping不通电脑主机的解决方案:①关闭电脑防火墙(防止防火墙阻止开发板ping电脑)②按键盘【win】+【R】,输入【cmd】-【确定】进入win10命令行模式,输入【ipconfig】查看电脑主机的IP地址③打开电脑的【控制面板】-【网络和Inter...原创 2020-03-24 11:04:33 · 1390 阅读 · 2 评论 -
嵌入式Linux学习笔记3——VMware虚拟机Ubuntu无法ping通win10主机的解决办法
1、问题:win10可以ping通Ubuntu而Ubuntu不能ping通win10:①在win10界面按键盘上的【win+R】,输入【cmd】,点击【确定】,进入win10的命令行界面②输入ipconfig,查看相关IP地址,得到电脑的IP地址为192.168.2.12③打开虚拟机,进入Ubuntu,使用快捷键【Ctrl+Alt+T】进入终端界面,输入【ifconfig】查看Ubuntu的...原创 2020-03-19 14:55:23 · 849 阅读 · 2 评论 -
嵌入式Linux学习笔记2——虚拟机中Ubuntu无法连接网络的有效解决办法
本方法适用于NAT方式上网(前提:主机已经处于联网状态)首先检查一下VMware的服务是否开启了①点击【我的电脑】,右键选择【管理】,选择【服务和应用程序】-【服务】②找到VMware的相关服务(如下图中的,共5个)③选中VMware相关的服务,【右键】-【属性】 全部设置为自动,然后 【应用】-【确定】④在VMware界面下单击【编辑】-【虚拟网络编辑器】,进入虚拟网络编辑器界面...原创 2020-03-16 21:50:39 · 351 阅读 · 0 评论 -
嵌入式Linux学习笔记1——vi/vim编辑器区分大小写设置
在vi编辑器中使用查找功能默认情况是区分大小写的,如果希望不区分大小写,则在一般模式下输入(双引号内的内容)“:set ic”,返回默认状态(区分大小写)则在一般模式下输入(双引号内的内容)“:set noic”。具体操作见下图:①当前模式为一般模式。②输入“:set ic”,按下enter键确认,设置为不区分大小写。③输入“/a”查找编辑器中的相同元素,发现a和A都被查找到了,编辑器...原创 2020-03-15 23:58:41 · 913 阅读 · 0 评论