- 博客(34)
- 资源 (6)
- 收藏
- 关注
原创 wsl2环境的搭建
由于在任务栏打开的ubuntu20.04只是一个终端,并不带X11-forwarding (remote display is forwarded through SSH),所以并不能运行带UI的程序。在/etc/ssh/sshd_config文件中,将PasswordAuthentication设置为 yes,或直接在 PasswordAuthentication参数前添加井号#至此WSL的系统已经完成安装,但是还不能满足需求,比如UI,此篇主要介绍如何配置环境并能运用UI界面。
2023-10-24 14:26:59
282
转载 进程与线程栈大小的调整(vsz 虚拟内存大小)
http://www.kankanews.com/ICkengine/archives/86475.shtml首先看一个现象,最近在嵌入式项目开发中发现的,下面是设备的内存总量及使用:总量是24M左右,项目主程序大小1M不到,但是在默认的系统环境设置下,程序运行起来后的top看起来是这样:VSZ的大小是221MB,所以计算出来的内存使用百分比是935
2016-08-03 14:57:27
2616
转载 can总线
控制器局域网协议CAN是德国博世公司开发的一套串行总线通讯协议,特别适用于智能设备之间的互联来构成智能系统或子系统。CAN是一种基于广播通讯机制的协议,这种机制通过使用一种面向消息的传输协议来实现,在这种协议下,不定义具体的站点和站点地址,只定义消息。而通过消息标识符来区别不同的消息。而且很容易向一个CAN网络中添加一个节点,当这一节点仅作为接收者时甚至不需要对己有的节点的软硬件做任何的改动。
2015-12-28 15:44:03
2898
转载 AM335x启动流程(BootRom->MLO->Uboot)
http://blog.chinaunix.net/uid-28458801-id-3486399.html参考文件:1,AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual.pdf;2,am3359.pdf;1,am335x的cpu上电后,会跳到
2015-12-09 18:48:11
1183
转载 uboot向kernel的传参机制——bootm与tags
U-boot版本:2014.4Kernel版本:3.4.55一 uboot 如何启动 kernel1 do_bootmuboot下使用bootm命令启动内核镜像文件uImage,uImage是在zImage头添加了64字节的镜像信息供uboot解析使用,具体这64字节头的内容,我们在分析bootm命令的时候就会一一说到,那直接来看bootm命令。
2015-12-09 13:53:46
661
转载 uboot启动流程分析
Author : kernelerEmail :karse0104@163.com[cpp] view plaincopy# # (C) Copyright 2000-2013 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # SPDX-Li
2015-12-08 11:26:59
1002
转载 spi驱动数据传输流程
对于SPI的一些结构体都有所了解之后呢,那么再去瞧瞧SPI的那些长见的操作的函数了。首先看一下本人画的比较挫的数据流了,仅供参考,如有不对,不吝赐教 接下来看看各个函数吧还是: SPI write [html] view plaincopy/** * spi_wri
2015-11-20 16:35:19
11202
转载 ARM Linux系统调用的原理
ARM Linux系统调用的原理操作系统为在用户态运行的进程与硬件设备进行交互提供了一组接口。在应用程序和硬件之间设置一个额外层具有很多优点。首先,这使得编程更加容易,把用户从学习硬件设备的低级编程特性中解放出来。其次,这极大地提高了系统的安全性,因为内核在试图满足某个请求之前在接口级就可以检查这种请求的正确性。最后,更重要的是这些接口使得程序具有可移植性,因为只要内核所提供的一组接口相同,那
2015-11-12 16:55:38
482
转载 Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文
2015-11-06 18:30:11
306
转载 Nand分区及nand erase简解
我的nand flash 32M,kernel 2.6.18, rootfs is emb linux, cramfs.nand flash分区如下:static struct mtd_partition nand_partitions[] = { /* bootloader (UBL, U-Boot, BBT) in sectors: 0 - 14 */
2015-11-06 18:15:31
691
转载 TI am335x系列(am3352)LCD驱动修改移植
1、/arch/arm/mach-omap2/board-am335xevm.c/lcdc_init(){得到LCD硬件参数struct da8xx_lcdc_platform_data} -> am33xx_register_lcdc() -> omap_device_build() -> omap_device_build_ss() -> platform_device_add_data(){
2015-11-05 15:37:15
3662
转载 Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例)
在移植内核的时候,通常会遇到引脚复用(MUX)的配置问题。在现在的Linux内核中,对于TI的ARM芯片,早已经有了比较通用的MUX配置框架。这对于许多TI的芯片都是通用的,这次看AM335X的代码顺手写一下分析,以备后用。一、硬件 对于许多TI的芯片来说,引脚复用的配置是在Control Module(配置模块)的寄存器里配置的,(这个和三星的CPU有点不同,三星的一般在G
2015-11-05 14:07:56
406
转载 JFFS和YAFFS文件系统
YAFFS/JFFSYAFFS-yet another flash file system,它是专门针对NAND的文件操作系统;YAFFS2能更好的支持大容量NAND FLASH芯片,作者是新西兰的Charles Manning为一家名叫Alpha one 的公司(http://www.aleph1.co.uk/)设计的,是第一个为NAND Flash设计的文件系统.共两个版本YA
2015-04-30 10:46:06
510
转载 Linux中expr命令
expr 命令用途求表达式变量的值。语法expr Expression描述expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出。您必须对 Expression 参数应用以下规则: 用空格隔开每个项。 用 / (反斜杠) 放在 shell 特定的字符
2015-04-28 11:56:25
477
原创 test命令
几个等效命令test,/usr/bin/test,[],和/usr/bin/[1. 关于某个文件名的『类型』侦测(存在与否),如 test -e filename-e 该『文件名』是否存在?(常用)-f 该『文件名』是否为文件(file)?(常用)-d 该『文件名』是否为目录(directory)?(常用)-b 该『文件名』是否为一个 block device 装置? -c
2015-04-27 17:20:16
323
转载 用busybox制作rootfs yaffs文件系统
我们知道一个linux的启动过程,包括BIOS的加电自检POST,拷贝MBR的信息(启动BootLoader),加载内核,挂载根文件安系统这几大步,在嵌入式系统的移植方面我们也要自己动手制作内核映像,根文件系统等。概要: 1.busybox(busybox-1.9.1) 下载一个版本的busybox。下载地址。 busybox是主要用来提供一些
2015-04-17 14:43:31
562
转载 tftp使用
TFTP协议简介TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。本文来自成都
2015-04-17 10:56:27
390
转载 #跟##
最近看了一些dsp的库函数,发现了一些使用##的宏定义,以前没有用到过,后来差了些资料,学习了##的用法。例如下面的语句:#define CSL_FMK(PER_REG_FIELD, val) (((val) CSL_##PER_REG_FIELD##_SHIFT) & CSL_##PER_REG_FIELD##_MASK)其实,##
2015-04-10 09:32:13
366
转载 OSS--跨平台的统一音频接口深入分析
OSS(Open Sound System)是unix平台上一个统一的音频接口。以前,每个Unix厂商都会提供一个自己专有的API,用来处理音频。这就意味着为一种Unix平台编写的音频处理应用程序,在移植到另外一种Unix平台上时,必须要重写。不仅如此,在一种平台上具备的功能,可能在另外一个平台上无法实现。但是, OSS出现以后情况就大不一样了,只要音频处理应用程序按照OSS的API来编写,那么在
2015-04-08 19:49:34
714
转载 Linux Audio Device Driver
第十七章 Linux 音频设备驱动本章导读在Linux 中,先后出现了音频设备的两种框架OSS 和ALSA,本节将在介绍数字音频设备及音频设备硬件接口的基础上,展现OSS 和ALSA 驱动的结构。17.1~17.2 节讲解了音频设备及PCM、IIS 和AC97 硬件接口。17.3 节阐述了Linux OSS 音频设备驱动的组成、mixer 接口、dsp 接口及用户空间编程方法。
2015-04-08 19:46:33
1709
转载 用mkfs.jffs2 命令制作jffs2镜像文件
下载:ftp://sources.redhat.com/pub/jffs2/mkfs.jffs2或者使用命令:apt-get install mtd-utils命令使用实例:mkfs.jffs2 -s 0x1000 -e 0x40000 -p 0x500000 -d rootfs/ -o jffs2.img说明:页大小0x1000
2015-03-30 15:32:22
516
转载 EXT4中恢复使用rm命令误删除的文件
起因:前几天在公司服务器上误操作将ORACLE某表空间文件给删除了,结果导致几张表不能正常访问遂谷歌了一把发现了神器 extundelete(如果是ext3文件系统请使用ext3grep,本人未做测试),这玩意可比瘟得死下面的各种恢复工具强大多了(至少本人是这么认为的),下面看步骤:一、下载及安装软件extundelete 主页:http://extundelete.sourcefor
2015-03-30 15:24:21
469
转载 Linux下串口应用程序编程
这几天,由于多功能温度测量仪项目的需要,涉及到了GSM信息的串口读取,所以在Linux下串口信息的读取有了一点心得体会。1. 打开串口 与其他的关于设备编程的方法一样,在Linux下,操作、控制串口也是通过操作起设备文件进行的。在Linux下,串口的设备文件是/dev/ttyS0或/dev/ttyS1等。因此要读写串口,我们首先要打开串口: cha
2015-03-30 15:16:48
433
转载 mdev的基本工作原理
分析过mdev(udev的BusyBox简化版)源码的都知道mdev的基本原理: a、执行mdev -s命令时,mdev扫描/sys/block(块设备保存在/sys/block目录下,内核2.6.25版本以后,块设备也保存在/sys /class/block目录下。mdev扫描/sys/block是为了实现向后兼容)和/sys/class两个目录下的dev属性文件,从该dev 属性文
2015-03-30 15:15:08
300
转载 ARM Linux 3.x的设备树(Device Tree)
宋宝华 Barry Song 1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/pla
2015-03-30 14:59:55
305
转载 github for linux
github for linux (centos) 1,登陆https://github.com/注册账号 2,安装 # su root #yum insatll git git-ui 把本地仓库传到github,需要配置ssh key 3,配置github
2015-03-30 14:54:33
472
转载 Linux文件系统启动过程及login的实现
1. busybox简介busybox是一个集成了一百多个最常用linux命令和工具的软件,它将许多常用的LINUX命令和工具结合到了一个单独的可执行程序中。虽然与相应的GNU工具比较起来,busybox所提供的功能和参数略少,但在比较小的系统(例如启动盘)或者嵌入式系统中,已经足够了。 busybox在设计上就充分考虑了硬件资源受限的特殊工作环境。它采用一种很巧妙的办法减少
2015-03-30 14:47:37
469
转载 ifenslave双网卡绑定单IP
ifenslave不知道有没有朋友了解呢?它是一款linux下的负载均衡工具,那么现在我们就来简单说一下这个ifenslave负载均衡工具吧。根据我们前面的网卡负载平衡设置,这个工具中的改动原理也很简单,有些类似。这款工具是一种粘合和分离式的软件,可以将数据包有效的分配,通常结合交换机和路由使用。工作原理很简单,我举个例子,不一定成功,但能说明原理:建一个组,把eth0和eth1加进去
2015-03-30 14:37:45
505
转载 例解 autoconf 和 automake 生成 Makefile 文件
本文介绍了在 linux 系统中,通过 Gnu autoconf 和 automake 生成 Makefile 的方法。主要探讨了生成 Makefile 的来龙去脉及其机理,接着详细介绍了配置 Configure.in 的方法及其规则。引子无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到
2015-03-30 09:46:23
347
转载 Ubuntu Linux 下 Ffmpeg 及 Mencoder 安装使用小结
近段时间在学习 Ffmpeg、Mencoder 音视频转换,大概在 Ubuntu 10.04、Ubuntu 10.10、Ubuntu Natty 测试版上安装和使用过。重点是针对低分辨率的普通手机视频,测试的手机为 Bird V780,主要参数为,视频编码:mpeg4、h263,音频编码:faac、amrnb,容器格式:mp4、3gp,分辨率:176×144;音乐文件格式:mp3 。下面对 U
2015-03-30 09:27:46
799
转载 线程本地存储(Windows和Linux)
一、线程本地存储(Windows, Thread Local Storage) TLS 是一个机制,经过它,程序可以拥有全局变量,但处于“每一线程各不相同”的状态。也就是说,进程中的所有线程都可以拥有全局变量,但这些变量其实是特定对某个线程才有意义,各个线程拥有全局变量的一个副本,各自之间不相影响。就是这么一个意思,比如我定义了一个全局变量 int a=10,那么我在线程1中对a进
2015-03-20 17:38:24
415
转载 linux panic 问题定位
1. insmod 模块报“operation not permitted”,很快出现panic 信息此问题最终原因是模块初始化时接口返回值混乱导致,实际上此模块已经成功插入到内核,但是因为返回值混乱,导致判断是插入模块失败,因此当前内核模块退出,但此内核模块注册到内核的过程没有被正确卸载,在使用时直接因为没有可用的代码段导致panic2. panic 时报rcu_pr
2015-03-19 14:36:38
1362
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人