自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 ubuntu 父进程终止,子进程没有被init(1)进程领养问题

fork一个子进程,在子进程中打印父进程终止前后的PPID: 一般会打印父进程的PID,然后会打印init(PID=1)。因为子进程转为孤儿进程被init进程收养。如果不希望子进程终止,也不希望处于僵死状态直到父进程终止,可以使用两次fork,如: 4 int main(void) 5 { 6 pid_t pid; 7 if((pid = fork()) &lt...

2020-04-04 18:12:03 1036

原创 Yocto添加drive recipe

前提条件已经了解Yocto编译1.初始化构建环境,会自动跳转到构建目录DISTRO=openstlinux-weston MACHINE=<Machine name> source layers/meta-custom-leyers/scripts/envsetup.sh2.创建内核模块例子PC $> mkdir kernel_module_exampleP...

2020-02-25 17:33:30 1911

原创 建立git本地仓库

通常实际项目中会使用一台独立的机器作为 git 服务器, 然后在 git 服务器中建立一个远程的仓库,这样项目中所有的人都可以通过局域网来访问这个 git 服务器。下面通过本机模拟一台git服务器。1.git服务器端得操作(本机终端)首先建立一个仓库目录,然后初始化这个 git 仓库。假设我们在“/opt/git/”目录下面来创建。通过 git --bare init 命令创建了一个空的远...

2020-01-12 12:15:07 270

转载 环境高级编程源码配置——apue.3e 安装

参考网址https://blog.csdn.net/wzl_lzw/article/details/83346282 网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说有些过时,因为很对针对linux的make文件已经改变了很多。话不多说,下面就来看看具体的搭建过程:1.在网上下载书中源代码,点击打开链接——www.apuebook.com...

2020-01-01 15:35:36 200 1

原创 linux如何更改文件权限及属性

1.linux查看文件详细信息,ls -l2.更改文件用户组。使用命令chgrp,命令如下:# chgrp [ -R ] 新用户组名 filename注意,新用户组名必须在 /etc/group文件中存在,-R属性表示递归修改某个目录下的所有子文件的用户组,常用于修改一个目录。如:再普通用户下:sudo chgrp -R my-linux patch ,my-lin...

2019-12-10 11:08:27 3881

原创 uboot分析2018.11(一)

一.配置选择:----------------------配置取决于板子和cpu的类型,所有的这些信息都封装在配置文件中"include/configs/<board_name>.h".例如:对于TQM823L 模块,所有的设置都在"include/configs/TQM823L.h".1.选择一个处理器架构和板子类型:-------------...

2019-11-19 23:53:50 529

原创 设备树(三)——设备树配置信息处理

1.函数调用过程:start_kernel // init/main.c setup_arch(&command_line); // arch/arm/kernel/setup.c mdesc = setup_machine_fdt(__atags_pointer); // arch/arm/kernel/devtree.c ...

2019-11-18 23:37:50 826

原创 设备树(二)---匹配设备树compatible属性过程

1.从源头分析内核head.s对dtb的简单处理bootloader启动内核时,会设置r0,r1,r2三个寄存器,r0一般设置为0;r1一般设置为machine id (在使用设备树时该参数没有被使用);r2一般设置ATAGS或DTB的开始地址bootloader给内核传递的参数时有2种方法:ATAGS 或 DTBa. __lookup_processor_type : 使用...

2019-11-17 23:13:06 3695

原创 设备树dts dtsi文件

1.DTS文件布局(layout):/dts-v1/;[memory reservations] //格式为:memreserve /<address><length>;保留的内存区域,定义一部分内存留给自己用/{ [property definitions] [child nodes]}Property格式1:...

2019-11-16 22:17:42 1154

原创 关于vituralbox网络设置的问题

原因:由于自己操作不当,设置网络的时候直接sudo ifconfig enp0s3 192.168.0.102 ,这时候发现桥接网络的时候始终连不了网,最后发现这其实是添加虚拟网卡的操作错误:ifconfig一直出现SIOCSIFFLAGS: Operation not permitted错误,桥接网卡一直没网ifconfig却只显示lo但是ifconfig -a却能显示en...

2019-11-16 10:50:29 198

原创 Virtualbox中Linux添加新磁盘并创建分区

由于工作需要常常会出现磁盘空间不够,这时候可以重新申请一个分区挂载到需要的目录分区原文:https://www.linuxidc.com/Linux/2017-01/139616.htm这篇文章有详细说明1)但是这时候挂载到Yocto文件夹的权限是root账户,要让普通账户使用的话: a) Ctrl + Alt +t 打开一个新的终端 b) sudo chmod ...

2019-11-11 09:52:51 324

原创 系统更新

更新板子的软件:----------------------------看 :<U-Boot source>/board/st/stm32mp1/README一.通过网络更新1.内核和设备树更新由于内核和设备树在emmc的第四分区boots分区mmcblk2p21)进入安装路径,我在内核源码树外新建一个build编译的cd <path to in...

2019-11-08 22:37:54 311

原创 安装arm-linux-gnueabihf-gcc编译器

1:下载arm-linux-gnueabihf下载地址:https://launchpad.net/linaro-toolchain-binaries/trunk/2013.10/+download/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz2.把gcc-linaro-arm-linux-gnueabihf-4....

2019-11-08 10:09:35 4247

原创 usb驱动笔记

一.USB驱动程序框架:app:----------------------------------------------------- usb设备驱动程序内核------------------------------------------------ usb总线驱动程序-----------------------...

2019-11-07 20:19:08 191

原创 WiFi芯片调试

1.先加载内核驱动模块insmod xxx.ko2.生成一个wifi.conf文件,并输入密码wpa_passphrase "TP-LINK_D87A" > wifi.confwangsuna1233.打开wifi.conf文件wpa_supplicant -B -c wifi.conf -i wlan0出现信息:Successfully initializ...

2019-11-07 20:15:31 1229

原创 性能测试命令

1.查看cpu温度cat /sys/class/hwmon/hwmon0/temp1_input2.gpio测试1)查看gpio组:gpiodetect2)查看指定gpio9信息:gpioinfo gpiochip9 即查看gpio9的详细信息3)读取某个gpio9 第0个引脚状态:gpioget gpiochip9 04)设置gpio9第0个引脚状态:gpioset...

2019-11-06 11:22:32 1709

原创 stm32mp15-dk2 内核编译

如果你使用如下的命令来打补丁:patch -pN < ../a.patch那么你可以像下面这样来卸载掉这个补丁:需要根据打补丁的顺序倒序卸载,比如linux内核添加了a补丁,之后又打上了b补丁,那么卸载顺序是先卸载b补丁,然后卸载a补丁patch -R -p1 < ../a.patch上面N表示一个自然数,表示去掉补丁路径的第几个部分,假定源码目录是/home/my-l...

2019-11-05 23:16:40 476 5

原创 STM32mp157-dk2 uboot编译

stm32mp157工作有两种模式:普通模式/安全可靠模式1.新建工作目录mkdir -p /home/work/stm32mp1572.获取ST官方源码有以下文件- v2018.11.tar.gz - 000*.patch - Makefile.sdk3.解压uboot源码,并打补丁$> tar xfz v2018.11.tar.gz$>...

2019-11-05 21:44:25 1194

原创 stm32mp157c-dk2 u-boot启动与制作

一.uboot描述1)支持外设1. UART2. SDCard/MMC controller (SDMMC)3. NAND controller (FMC)4. NOR controller (QSPI)5. USB controller (OTG DWC2)2)支持驱动1. I2C2. STPMIC1 (PMIC and regulator)3. Clock, Rese...

2019-11-03 23:55:36 2771

原创 一般linux网络服务配置

环境配置一.安装配置TFTP服务端安装TFTP服务book@100ask:~$ sudo apt-get install tftp-hpa tftpd-hpa然后,创建TFTP服务器工作目录,并打开TFTP服务配置文件,如下:book@100ask:~$ mkdir -p /home/book/tftpbootbook@100ask:~$ chmod 777 /home...

2019-11-02 22:57:01 319

原创 STM32MP157micro SD卡启动

1.stm32mp157启动流程2.micro SD卡内存分区情况3.ubuntu查看分区情况ls -l /dev/disk/by-partlabel/total 0lrwxrwxrwx 1 root root 10 11月 2 18:21 bootfs -> ../../sdb4lrwxrwxrwx 1 root root 10 11月 2 18:21 fs...

2019-11-02 20:51:14 1615 1

原创 ubuntu远程挂载终端文件夹

一.安装sshfs和挂载远程终端文件夹1)sudo apt-get install sshfs2)远程连接终端ssh board@boardIP;3)挂载远程文件夹ssfs board@boardIP:boardPATH mount_path注意在使用的时候,如果使用了sudo ,那么在访问挂载文件夹的时候,只能使用管理员权限去访问文件夹。4.解除挂载文件夹...

2019-11-02 16:15:12 596

转载 使用ssh的scp命令传输文件到服务器

使用方式如下:1、上传本地文件到服务器scp /path/filename username@servername:/path/例如scp /var/www/test.php [email protected]:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中2、从服务器上下载文件下载...

2019-11-01 17:26:15 459

原创 从0编译内核

编译器永久生效的方法如需永久修改,请修改用户配置文件, Ubuntu系统下,修改如下:vim ~/.bashrc在行尾添加或修改:export ARCH=armexport CROSS_COMPILE=arm-openstlinux_weston-linux-gnueabi-export PATH=$PATH:/home/my-linux/STM32MPU_workspace...

2019-11-01 12:03:50 668

原创 stm32mp15x环境搭建基于linux环境(下)

一.编译和重载内核(内核版本4.19.9)1)下载 STM32MP15-Ecosystem-v1.1.0 开发包源码到下面的目录:$HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package2)进入目录解压PC $> cd $HOME/STM32MPU_workspace/STM32MP15-Ecosy...

2019-10-29 18:40:31 1225 3

原创 stm32mp15x环境搭建基于linux环境(上)

一.安装工具包1)安装工具TM32CubeProgrammer 需要 1.8 版本的JAVA平台sudo apt-get install openjdk-8-jre sudo update-alternatives --config java2)在主机上面创建STM32MPU工具目录(根据自己的电脑创建文件夹)mkdir $HOME/STM32MPU_workspace/S...

2019-10-29 15:51:57 2544 12

原创 字符设备驱动按键防抖

由于机械开关按键时,金属弹片会出现多次抖动,这样就会产生多次中断,读取多次键值。需要引入定时器,比如10ms后再处理定时器函数,这样每次抖动产生中断会过10ms后再处理,这样多次抖动会响应一次定时器中断处理。定时器使用:两要素:a.时间 b.函数41)定义一个定时器结构体:static struct timer_list button_timer;2)定时器初始化:驱动入口函数i...

2019-10-27 15:45:58 120

原创 字符设备驱动linux信号处理

信号处理:1)先注册一个信号处理函数2)发信号,为了使设备支持异步通知机制,驱动程序中涉及以下3项工作:1)支持F_SETOWN命令,能在这个控制命令处理中设置filp->f_oener为对应进程ID。 不过此项工作已由内核完成,设备驱动无需处理2)支持F_SETFL命令的处理,每当FASYNC标志改变时,驱动程序中的fasync()函数将得以执行。3.在设备...

2019-10-26 22:35:05 136

原创 安装nfs服务器和自动挂载

一.制作NFS网络根文件系统时,这个配置非常有必要用网线将主机与开发板连接起来,主机开启nfs服务后,就可以像tftp一样传文件到开发板了,有的人会问,不如直接用tftp好了,但是nfs还可以挂载根文件系统啊!pc端NFS服务器 ------>网线----------->开发板NFS客户端1)sudo apt-get install nfs-kernel-server(...

2019-10-14 21:13:03 150

原创 制作根文件系统

一.编译安装busybox1.sudo su进入root权限2.make menuconfig配置一下busyboxBusybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) (arm-none-...

2019-10-09 21:03:16 90

原创 编译busybox错误

1.错误一ipsvd/tcpudp.c: In function 'tcpudpsvd_main':ipsvd/tcpudp.c:314:10: warning: ignoring return value of 'write', declared with attribute warn_unused_resultmake[1]: *** [ipsvd...

2019-10-09 20:17:48 361

原创 arm不支持除法问题解决

1.grep “__aeabi_uidiv” * -nR 先搜寻出现错误的信息2.找到对应的库,如 libgcc.a ,拷贝到自己工程目录文件下面3.arm-linux-ld -Tsdram.lds $^ libgcc.a -o sdram.elf 链接编译...

2019-09-26 22:03:26 1111

转载 内核编译

内核移植(1)首次生成uImage映象文件1、先修改顶层Makefile,如下:ARCH ?= $ (SUBARCH)CROSS_COMPILE ?=改为:ARCH ?= armCROSS_COMPILE ?= arm-linux-2、执行make s3c2410_defconfig...

2019-09-25 22:06:41 135

原创 安装ftp传输出错

其他版本请到FileZilla官网:https://filezilla-project.org/download.php?type=client下载。1.首先执行命令apt-get install vsftpd ftp,安装ftp,传输文件时出现550 Permission denied原因:vsftp默认配置不允许上传文件。解决办法:修改/etc/vsftpd.conf,将“write_...

2019-09-22 12:20:52 245

转载 用make menuconfig配置内核时出错Makefile:417: recipe for target 'menuconfig' failed

scripts/kconfig/mconf arch/arm/Kconfigdrivers/serial/Kconfig:235⚠️ multi-line strings not supportedYour display is too small to run Menuconfig!It must be at least 19 lines by 80 columns./work/syst...

2019-09-16 21:13:37 2393 1

转载 uboot配置时出现错误ln: failed to create symbolic link ‘asm’

在uboot目录里执行 make x210_sd_config出现以下错误:Configuring for x210_sd board…ln: failed to create symbolic link ‘asm’: Operation not supportedmake: * [x210_sd_config] Error 1错误原因分析:根源:uboot放在linux虚拟机与wind...

2019-09-08 15:56:04 3842

转载 arm-linux-gcc交叉编译

参考了前人的成果,结合自己实践,arm-linux-gcc-4.4.3.tar.gz的下载地址为:http://ishare.iask.sina.com.cn/f/13836544.html?from=like本人所用系统是Ubuntu12.04,但只要是Ubuntu应该都可以安照此步骤安装。1.解压文件解压 tar zxvf arm-linux-gcc-4.4.3.tar.gz -C/(...

2019-07-20 15:29:34 399

原创 linux桥接模式设置ip

dcvfdfgv

2019-05-26 18:18:33 1866

转载 Linux /dev目录及其他目录详解

Linux /dev目录详解在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下:dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部...

2019-04-17 22:00:34 944

原创 linux基础

一.shell命令格式username@hostname:direction$username:用户名,显示当前登录用户的账户名。hostname:主机名,例如远程登录后,则显示登录的主机名。direction:目录名,显示当前所处的路径,当在根目录下显示为"/",当在用户主目录下显示"".例如当前shell提示符为"linux@linux:$",则表示用户名为"linux",主机名为"l...

2019-04-14 12:24:10 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除