自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ARM Linux and soul

only for more money

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 autoconf 和automake使用示例

对 mde-1.3.0 中的 configure.in 进行解读dnl Process this file with autoconf to produce a configure script./* dnl 是注释的开头 */AC_PREREQ(2.13)/* AC_PREREQ宏声明本文件要求的autoconf版本 */AC_INIT(mginit/mginit.c)/* configur

2008-10-02 17:41:00 2474

原创 Redhat 9 中文显示

http://sourceforge.net/projects/zhcon/下载到zhcon源码./configuremakemake installmake cleanzhcon需要运行于文本模式下,在X Windows不能用。按ctrl-alt-F1可以直接切换到文本模式(命令行模式),然后再直接输入zhcon运行就可以了如果出现段错误,请将 src/zhcon.conf 文件 cp 到 /e

2008-09-28 22:04:00 1275

原创 5502_图像板学习参考

以下是我调试5502图像板所累积的认识和经验,仅供参考,有错请指正。 前提1.  请安装CCS和仿真器驱动,并配置CCS为 C5502 XDS510 Emulator 第一个程序------点亮LED       打开工程 LED_TEST和文件 LED_TEST.C ,仔细浏览程序。程序由C语言编写,简单易懂。由于Ti提供了5000和6000系列DSP的CSL库,调用CS

2008-09-08 22:53:00 1789 2

原创 VHDL语言编程一个注意点

有一点需要注意,下面以一个状态机为例进行说明。library IEEE; use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all; use IEEE.std_logic_signed.all;entity statem is   port (               clk   : in std_logic;  

2008-07-12 18:53:00 1369

原创 播放WAV音频

在网上找到uda1341的驱动,编译成模块uda1341.ko,打开内核配置菜单Device Drivers  --->  Sound  --->    Sound card supportmake modules  生成 soundcore.ko 模块,加载这两个模块就可以播放音频了仔细看了uda1341的驱动,发现只能播放16bit的音频,单声道的音频在应用程序向驱动复制时转化成双声道。

2008-05-09 22:09:00 3174 1

原创 ppcboot添加nandflash支持

从uboot中 copy -rf 以下目录或文件至ppcboot相应目录drivers/nandinclude/linux/mtdinclude/nand.hinclude/asm-arm/io.h在 include/cmd_confdefs.h 中添加#define min(X, Y)    / ({ typeof (X) __x = (X), __y = (Y); /  (__x #def

2008-04-08 20:12:00 1019

原创 NandFlash驱动和Yaffs文件系统的移植

2.6的内核自带了NandFlash驱动,移植起来就非常方便在arch/arm/mach-s3c2410/devs.c中添加#include #include #include static struct mtd_partition nand_partitions[] = { [0] = {  .name = "nanduser",  .size = SZ_64M,  .offset = 0,

2007-12-29 14:44:00 2167

原创 内核中__init函数的执行顺序

在网上搜了一下,没有很确定的答案,不过一些文章已经有了基本解答了。摘抄如下参见include/linux/init.h和vmlinux.lds 1) 所有标识为__init的函数在链接的时候都放在.init.text这个区段内, 在这个区段中,函数的摆放顺序是和链接的顺序有关的,是不确定的。 2) 所有的__init函数在区段.initcall.init中还保存了一份函数指针, 在初始

2007-12-22 17:00:00 2056

原创 TL_WN321G无线网卡的移植

 首先需要感谢http://blog.21ic.com/user1/765/archives/2007/41046.html的作者张驿风,我在网上查了半天在arm平台上移植无线网卡驱动的,他是唯一一个给出移植过程的,所以我也选择这款TP-LINK WN321G的USB无线网卡。去中关村问了一下,结果是这款网卡太老了,基本没卖的了,买回来的都是WN322G的,还好实验室以前买过这款网卡,还能找到一个

2007-12-08 14:35:00 3802 3

原创 2.6内核NorFlash驱动

2.6内核中NorFlash的驱动基本和2.4中的一样随便在maps中找一个都可以拿来改改用的,不过方便一点还是提供一份源码好了这个驱动是 for Intel E28F128J3A-150 on s2c2410 的,不同的芯片就需修改一些参数了当然需要在maps/Kconfig中添加选项,在MTD_SA1100后添加config MTD_S3C2410    tristate "CFI Fla

2007-12-06 15:05:00 3069 1

原创 busybox 初始化

下载busybox 1.00 http://busybox.net/downloads/busybox-1.00.tar.bz2# tar jxvf busybox-1.00.tar.bz2# cd busybox-1.00# make defconfig# make menuconfig 配置# make# make install需要cp到ramdisk的文件在_install目录中下面主

2007-12-03 20:40:00 4339

原创 printk打印到LCD

先从ppcboot传过来的启动命令参数说起,ppcboot把它放在内的存固定地址,参数如下char linux_cmd[] = "initrd=0x30800000,0x440000 root=/dev/ram init=/linuxrc console=ttyS0";在内核start_kernel函数中调用了setup_arch(&command_line)取到命令参数并保存到saved_com

2007-11-11 00:03:00 3842

原创 文件系统和设备之间的联系

 如果写过设备驱动,就知道我们写驱动主要是为了实现一个设备驱动接口,一组对设备操作的方法,我这里想简单地分析一下文件系统与设备驱动之间的接口。先来看打开操作,我自己对文件系统也不是很了解,只知道在用户空间调用了open函数,就会在内核中调用sys_open这个系统调用,原来的0.11内核都是通过int80x系统调用门来实现的,不过这里似乎是直接调用的嘛,在include/asm-arm/unist

2007-10-12 16:22:00 1692

原创 console 的定位

首先在init/main.c的init函数中建立了系统的stdin和stdout if (open("/dev/null", O_RDWR, 0)   printk("Warning: unable to open an initial console./n"); (void) dup(0); (void) dup(0);打开的/dev/null设备,这也是导致busybox开始printf不能显

2007-10-12 08:59:00 2586

原创 printk 实现分析

一直都不清楚是怎么被定位到串口的,所以也非常想搞明白,因为以后可能把标准输入输出还原到键盘和显示器上去,所以决心自己再读一读源码了。不过内核用的打印函数printk完全是和stdin或stdout无关的,因为一开始到start_kernel函数刚开始进入内核就可以用printk函数了,而建立stdin和stdout是在init函数中实现的。有个问题,在我这里的代码中,建立stdin和stdout如

2007-10-07 19:38:00 2215 2

原创 hpi 驱动修改及一些杂碎

使用DSP和FPGA的视频图像处理卡每秒处理24帧图像,计算出目标物体(球)的位置(一般是通过颜色差异分解出物体),然后给ARM中断,ARM通过HPI口读取相关数据。由于hpi并不是一种真正的字符设备,看起来又很像一种块设备,给定随机地址可以读取大块的dsp数据,这让我不知道怎么去实现,但是块设备的驱动程序我还没怎么看过,所以还是选择字符设备来实现,可是也不能像字符设备一样创建一个缓冲区,把接受到

2007-09-07 21:37:00 2010

原创 hpi 驱动源码

 Author-------Dansen-----xzd2734@163.com给出我写的源码,其中中断和几个变量是为了追球的任务特别添加的,基本不是通用的,还能继续改进的吧,不过暂时先这么用了。没有对中断中使用的共享变量进行保护啊,这是错误的地方,至少要关中断啊!再修改了!/* Dsp hpi interface with ARM 9 for s3c2410Author--------D

2007-09-05 18:41:00 3441 2

原创 hpi 驱动---与dsp通信

Author-------Dansen-----xzd2734@163.comDsp 提供了hpi接口,可以用来和 Arm 通信,一年多前我刚接触Arm的工作就是要写一个hpi接口的驱动。最近真正需要把接口给用起来,又修改了一下代码,添加了中断,不过感觉还是不完美,再看看设备驱动程序这本书再来修改吧。我们用的是c5416,增强型的8位hpi接口,先看看用到的寄存器吧。HPI 有三个寄存

2007-09-05 18:05:00 4365

原创 pthread 基本线程函数 和 定时器

Author-------Dansen-----xzd2734@163.cominclude int  pthread_create(pthread_t  *  thread, pthread_attr_t * attr, void * (*start_routine)(void *), void * arg);pthread_create 建立一个新线程,线程的id放入thread指针指向的

2007-09-01 17:57:00 5594

原创 编译链接和动静态库

Author-------Dansen-----xzd2734@163.comLinux 版本是 Red Hat 9 ,内核版本是 2.4.18输入 which gcc 查看 gcc 的位置在 /usr/bin/gccgcc -v 查看 gcc 编译前的配置信息--prefix=/usr 说明了安装目录没有 --with-headers 说明默认的 include 就在安装目录下所以 gcc

2007-08-29 23:41:00 4242

原创 linux 内核模块中的宏

Author-------Dansen-----xzd2734@163.com编写模块时一般都需要包含头文件,而在module.h中定义了符号__module_kernel_versionstatic const char __module_kernel_version[] __attribute__((section(".modinfo"))) ="kernel_version=" UTS_

2007-08-20 16:32:00 2665 2

原创 ppcboot 添加命令

Author-------Dansen-----xzd2734@163.com因为每次修改内核添加打印信息需要调试,重新加载内核,不过挺烦的,需要输入3条命令,为了调试内核方便,所以要在ppcboot中添加一条简单命令来执行这3条命令,这样调试内核的时候会方便很多了。先到ppcboot-2.0.0/common/main.c下看看主循环是怎样处理输入的命令的 for (;;)  {  len

2007-08-18 21:52:00 1311

原创 Nor Flash 编程

Author-------Dansen-----xzd2734@163.comNor Flash与Nand flash的不同之处在于Nor Flash的地址和数据线是不共用的,所以Nor Flash比较象ROM,是可以按地址自由读的,这样就非常适合存储代码,在开机时从Nor Flash中取代码来执行。在我的板子上有16M的Intel的Nor Flash E28F128J3A150,以此为例

2007-08-15 16:29:00 3600 3

原创 arm linux 启动流程之 进入内核

Author-------Dansen-----xzd2734@163.com 还是从编译链接生成vmlinux的过程来看吧,由一大堆.o文件链接而成,第一个就是kernel/arch/arm/kernel/head-armv.o ,而且我们还看到了lds链接文件kernel/arch/arm/vmlinux.lds,先把它分析一下ENTRY(stext) //入口点是stext 应该就在he

2007-08-13 21:25:00 4709

原创 arm linux 启动流程之 解压内核

Author-------Dansen-----xzd2734@163.com从后往前看下编译生成zImage的过程,我们可以找到程序的入口还是那个很重要链接文件,找到它,生成zImage所在的目录是kernel/arch/arm/boot/compressed/Make过程为....ld -p -X -T vmlinux.lds head.o misc.o head-s3c2410.o pi

2007-08-13 15:03:00 2395

原创 arm linux 启动流程之 ppcboot

Author-------Dansen-----xzd2734@163.com不是每一行代码都必须读懂,我只是大概地过一下流程毕竟这些都是比较成熟的代码,没必要去改的是针对我自己的板子的,硬件配置如下cpu是s3c2410board type 是 smdk241016M Nor Flash 地址是 0x0---0xFFFFFF64M SDRAM     地址是 0x30000000---0x3

2007-08-12 17:15:00 3381

原创 arm linux 等待队列简单分析

Author-------Dansen-----xzd2734@163.comwait_queue_head_t wait_q;首先看看wait_queue_head_t这个等待队列的结构在wait.h中定义了这个结构typedef struct __wait_queue_head wait_queue_head_t;struct __wait_queue_head { wq_lock_t l

2007-08-12 13:14:00 2202 3

s3c2440开发板原理图

s3c2440开发板原理图,pdf版 欢迎下载!!!!!!

2008-10-15

空空如也

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

TA关注的人

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