随笔分类 -  ARM

关于嵌入式linux的资料
摘要:移植openssh至嵌入式ARM开发板2011-06-28 15:441. 开发板:SBC6020 CPU:AT91SAM9G20 Linux内核:2.6.30 板子拿到手其中的telnet服务不好用,所以就想着移植一个ssh的服务器上去。 2. 首先下载源码包: openssh-4.6p1.tar 阅读全文
posted @ 2016-04-15 14:30 luxiaolai 阅读(858) 评论(0) 推荐(0)
摘要:linux对于端口IO使用遵循分配,映射与使用 struct resource *request_mem_region(unsigned long start,unsigned long len,char *name); 申请失败返回NULL,否则非零。 void release_mem_regio 阅读全文
posted @ 2016-02-23 15:58 luxiaolai 阅读(297) 评论(0) 推荐(0)
摘要:Makefile文件中增加obj-$(CONFIG_MINI2440_LED) += micro2440_leds.o在相应目录下的konfig文件中加入: 点击(此处)折叠或打开config MINI2440_LEDtristate "LED driver for FriendlyARM Mini... 阅读全文
posted @ 2016-01-05 16:40 luxiaolai 阅读(376) 评论(0) 推荐(0)
摘要:《Linux内核设计与实现》读书笔记(十二)- 内存管理内核的内存使用不像用户空间那样随意,内核的内存出现错误时也只有靠自己来解决(用户空间的内存错误可以抛给内核来解决)。所有内核的内存管理必须要简洁而且高效。主要内容:内存的管理单元获取内存的方法获取高端内存内核内存的分配方式总结1. 内存的管理单... 阅读全文
posted @ 2015-09-25 11:06 luxiaolai 阅读(317) 评论(0) 推荐(0)
摘要:解决Cannot open the disk 'E:\my Ubuntu\Ubuntu-000001.vmdk' or one of the snapshot disks it depends on.(虚拟机突然断电之后)删除虚拟机系统目录下的 后缀名为 .lck 的文件或文件夹,为确保无误,可以先... 阅读全文
posted @ 2015-08-27 10:28 luxiaolai 阅读(832) 评论(0) 推荐(0)
摘要:一个简单的使用DMA 例子示例:下面是一个简单的使用DMA进行传输的驱动程序,它是一个假想的设备,只列出DMA相关的部分来说明驱动程序中如何使用DMA的。函数dad_transfer是设置DMA对内存buffer的传输操作函数,它使用流式映射将buffer的虚拟地址转换到物理地址,设置好DMA控制器... 阅读全文
posted @ 2015-06-05 11:22 luxiaolai 阅读(3635) 评论(0) 推荐(0)
摘要:disable_irq关闭中断并等待中断处理完后返回, 而disable_irq_nosync立即返回. 阅读全文
posted @ 2015-06-05 10:36 luxiaolai 阅读(353) 评论(0) 推荐(0)
摘要:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include s... 阅读全文
posted @ 2015-03-05 22:37 luxiaolai 阅读(506) 评论(0) 推荐(0)
摘要:gcc -shared hello.c -o libhello.sogcc -o test test.c -L库所在目录 -l库名 阅读全文
posted @ 2015-01-20 17:06 luxiaolai 阅读(151) 评论(0) 推荐(0)
摘要:内核中的 likely() 与 unlikely()在 2.6 内核中,随处可以见到 likely() 和 unlikely() 的身影,那么为什么要用它们?它们之间有什么区别?首先要明确: if(likely(value)) 等价于 if(value) if(unlikely(value)) 也等... 阅读全文
posted @ 2015-01-16 08:55 luxiaolai 阅读(257) 评论(0) 推荐(0)
摘要:我的板子设置HCLK=100M因此CLKVAL= int(HCLK/(VCLK*2)-1),其中VCLK即上图的DCLK=6.4M, CLKVAL="int"(100/12.8-1)=int(6.8)=6因此 VCLK = HCLK/[(CLKVAL+1)x2]= 100/2*(6+1)= 7.14... 阅读全文
posted @ 2014-11-25 20:25 luxiaolai 阅读(1186) 评论(0) 推荐(0)
摘要:./autogen.sh#sleep 10./configure --prefix=/usr/lxl/tslib --host=arm-linux CC=arm-linux-gcc#sleep 100./make;make install 阅读全文
posted @ 2014-10-09 21:53 luxiaolai 阅读(263) 评论(0) 推荐(0)
摘要:static irqreturn_t pm_interrupt(struct serio *serio,unsigned char data, unsigned int flags){struct pm *pm = serio_get_drvdata(serio);struct input_dev ... 阅读全文
posted @ 2014-10-05 17:30 luxiaolai 阅读(1918) 评论(0) 推荐(0)
摘要:今天调一个程序调了半天,发现应用程序的ioctl的cmd参数传送到驱动程序的ioctl发生改变。而根据《linux设备驱动》这个cmd应该是不变的。因为在kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针,取而代之的是unlocked_... 阅读全文
posted @ 2014-09-24 20:52 luxiaolai 阅读(1828) 评论(0) 推荐(0)
摘要:目的:在drivers目录下添加一个简单的驱动目录mytest,在make menuconfig配置面板里面获得对应配置项,由于暂不涉及编译这一步,所以只在mytest里面添加一人Kconfig,没加对应的代码文件以及Makefile操作:1.在drivers/Kconfig里添加一行 source... 阅读全文
posted @ 2014-08-26 18:58 luxiaolai 阅读(307) 评论(0) 推荐(0)
摘要:linux内核打印"BUG: scheduling while atomic"和"bad: scheduling from the idle thread"错误的时候,通常是在中断处理函数中调用了可以休眠的函数,如semaphore,mutex,sleep之类的可休眠的函数,而linux内核要求在中... 阅读全文
posted @ 2014-07-21 16:40 luxiaolai 阅读(2856) 评论(0) 推荐(0)
摘要:KERNELDIR =/home/wenhao/platform/linux-2.6.34PWD := $(shell pwd)CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux-CC = $(CROSS_COMPILE)gccobj-m := ke... 阅读全文
posted @ 2014-05-20 21:36 luxiaolai 阅读(398) 评论(0) 推荐(0)
摘要:初次使用keil3,光标总是定位不准,修改十分麻烦,google后解决问题,修改tools.ini如下(蓝色为加入项):NAME="YGLenovo User", "a"EMAIL="a"ANSI=1BOOK0="UV3\RELEASE_NOTES.HTM" ("uVision Release Notes",GEN)补充:输入的汉字也总觉得看着不爽,查看后发现是设置问题,如下改变后,即美观:Edit->Configuration->Color&Fonts->8051:E 阅读全文
posted @ 2013-04-14 20:29 luxiaolai 阅读(157) 评论(0) 推荐(0)
摘要:一、首先是U盘得支持。1、vi arch/arm/mach-s3c64xx/mach-mini6410.c124行增加/* Initializes OTG Phy. to output 48M clock */void s3c_otg_phy_config(int enable) {u32 val;if (enable) {__raw_writel(0x0, S3C_PHYPWR); /* Power up */val = __raw_readl(S3C_PHYCLK);val &= ~S3C_PHYCLK_CLKSEL_MASK;__raw_writel(val, S3C_PHYCL 阅读全文
posted @ 2013-03-29 18:25 luxiaolai 阅读(826) 评论(0) 推荐(0)
摘要:一、环境1、开发板Tiny6410NAND:2GRAM:256MMLC2、操作系统Ubuntu103、交叉工具编译链arm-linux-gcc-4.5.1二、下载内核源码包linux-2.6.38三、解压内核tar–jxvflinux-2.6.38.tar.bz2我解压的的路径是:四、NANDFLASH移植1、修改MakefilevimMakefile将约191行改为:ARCH?=armCROSS_COMPILE?=arm-linux-2、cparch/arm/configs/s3c6400_defconfig.config忽略这一步的话,后面会找不到SystemType3、makemenuc 阅读全文
posted @ 2013-03-27 18:05 luxiaolai 阅读(1317) 评论(0) 推荐(0)