易截截图软件、单文件、免安装、纯绿色、仅160KB

linux内核移植s3c2410,移植正式开始1

在前面的准备工作完成之后,先实验一下,谈不上真正的移植 ,因为代码都没有改的。
首先修改顶层的Makefile,修改ARCH,CROSS_COMPLIE变量。
#ARCH        ?= $(SUBARCH)
ARCH        ?= arm
CROSS_COMPILE    ?= arm-linux-
执行make smdk2410_defconfig
make
然后执行make uImage,注意需要含有mkimage工具,这个工具是在编译uboot时产生的,同时需要将mkimage拷贝到path
环境变量中。
最终在arch/arm/boot/目录下生成uImage文件,下载该文件到开发板中,既可以观察结果,当然此时是没有文件系统的支持,
内核肯定是启动不起来的。
为了开始内核代码的移植,首先必须得了解内核的启动过程。
内核最先执行的代码是在arch/arm/kernel/head.S文件,该文件只需要关注下面的一段代码:
.section ".text.head", "ax"
    .type    stext, %function
ENTRY(stext)
    msr    cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
                        @ and irqs disabled
    mrc    p15, 0, r9, c0, c0        @ get processor id
    bl    __lookup_processor_type        @ r5=procinfo r9=cpuid
    movs    r10, r5                @ invalid processor (r5=0)?
    beq    __error_p            @ yes, error 'p'
    bl    __lookup_machine_type        @ r5=machinfo
    movs    r8, r5                @ invalid machine (r5=0)?
    beq    __error_a            @ yes, error 'a'
    bl 


相关文档:

LINUX 静态库和动态库


       库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a
1,生成库
      第一步要把源代码编绎成目标代码。以下面的代码为例,生成上面用到的hello库:
        /* hello.c * ......

MySQL(root用户)密码忘记重置(Windows/Linux)

MySQL(root用户)密码忘记重置
分别在Windows下和Linux下重置了MYSQL的root的密码,整理如下:
  A:在windows下:
  1:进入cmd,停止mysql服务:Net stop mysql
     到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动,
  2:执行:mysqld-nt --skip-grant-tables(窗口会一直停止 ......

linux 调试动态库

我最近的工作是在linux环境下测试一个.so的动态库,我暂时命名为libdawn.so,是同事实现的,我需要再我的测试程序中加载这个库,并调试该库,我用的编译环境是Eclipse.
1. 在Eclipse->Project->Properities->c/c++ Build->setting->gcc c++ Linker(如果是用gcc c编译的则选gcc c Linker)->Libraries ......

linux开机过程深入理解

Linux开机过程理解
一.           Power on
二.           BIOS加电自检:
1.  检测所有周边硬件
2.  寻找启动的磁盘(cd-rom,floppy,IDE HDD,usb device等)
三.     & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号