首页 技术 正文
技术 2022年11月15日
0 收藏 496 点赞 2,166 浏览 2424 个字

1. 建立Uboot的SI工程
1.1首先给uboot打上补丁,然后来生成压缩文件

tar cjf u-boot-1.1.6_jz2440.tar.bz2 u-boot-1.1.

1.2 编译uboot

make 100ask24x0_config    //使用打好补丁的配置文件来配置
make

1.3然后压缩文件拖到windows里,创建SI工程

建立uboot,内核的SI工程(1)

1.4在board目录下只添加:

./Board/100ask24x0       //2440单板相关文件夹

1.5在Cpu目录下只添加:

./Cpu/Arm920t/S3c24x0

并添加./Cpu/Arm920t文件夹下的源代码:

建立uboot,内核的SI工程(1)

1.6在Include目录下只添加:
首先添加./Include下的顶层源代码,以及./Include/Asm-arm下的顶层源代码(取消包含顶层子目录以及递归添加,如下图所示)
建立uboot,内核的SI工程(1)

Add tree:

./Include/Asm-arm/Arch-s3c24x0
./Include/Asm-arm/Proc-armv
./Include/Pcmcia
./Include/Linux
./Include/Jffs2
./Include/Galileo
./Include/Cramfs
./Include/Configs/100ask24x0.h

1.7删除不需要的库

./Lib_ppc
./Lib_nios2
./Lib_nios
./Lib_mips
./Lib_microblaze
./Lib_m68k
./Lib_i386
./Lib_blackfin
./Lib_avr32

1.8 最后点击synchronize files 创建source insight工程

1.9设置si,使能够查看汇编文件
点击Options->Document Options,设置如下:

建立uboot,内核的SI工程(1)

2 创建内核source sight 工程

2.1首先给内核打上补丁,然后来生成压缩文件

tar xjf linux-2.6.22.6.tar.bz2
cd linux-2.6.22.6/
patch -p1 <../linux-2.6..6_jz2440.patch //对linux-2.6.22.6文件进行打补丁
cp config_ok .config // 补丁打好后,就会有一个config_ok,通过cp,来更换内核配置信息
cd ..
tar -cjf linux-2.6..6_jz2440.tar.bz2 linux-2.6.22.6

2.2编译内核

2.2.1 编译内核之前还需要修改.config来配置内核,配置有3种:

  • (1)通过make menuconfig 直接从头到尾配置.config文件
  • (2)通过make s3c2410_deconfig 类似的命令在默认的配置上进行自动修改.config文件
  • (3)使用厂家提供的配置config_ok文件覆盖.config文件

其中s3c2410_deconfig 位于 arch/arm/configs目录

2.2.2 最后使用make uImage进行编译即可((因为uboot支持的内核需要有头部uImage)

参考: 第3阶段——内核启动分析之内核编译试验(1)

 

2.3然后将压缩文件拖到windows里,创建SI工程

2.4 点击 “add all” 添加所有文件,后面再慢慢删去与2440芯片没用的文件

建立uboot,内核的SI工程(1)

2.5 点击Remove Tree 删除Arch文件夹,再添加与2440相关的硬件核心代码以及其它公用的代码

  Arch:包含了平台,处理器相关的代码,并包括boot文件夹。

add tree:

linux-2.6.22.6/arch/arm/boot                   //(启动配置文件)
linux-2.6.22.6/arch/arm/common // (公共文件)
linux-2.6.22.6/arch/arm/configs // (配置文件)
linux-2.6.22.6/arch/arm/kernel //(内核文件)
linux-2.6.22.6/arch/arm/lib // (固件库)
linux-2.6.22.6/arch/arm/mach-s3c2440 // (machine 设备,2440设备库)
linux-2.6.22.6/arch/arm/mach-s3c2410 //(2440中部分调用了2410设备库)
linux-2.6.22.6/arch/arm/Mm //(内存管理文件)
linux-2.6.22.6/arch/arm/nwfpe
linux-2.6.22.6/arch/arm/oprofile //(性能分析工具文件)
linux-2.6.22.6/arch/arm/plat-s3c24xx //(s3c24系列平台文件)
linux-2.6.22.6/arch/arm/tools //(常用工具文件)
linux-2.6.22.6/arch/arm/vfp //(浮点运算文件)

2.6 点击Remove Tree 删除Include文件夹,再添加与2440相关的头文件

  Include: 包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。

添加:

linux-2.6.22.6/include/acpi                        //(高级配置与电源接口文件)
linux-2.6.22.6/include/asm-arm //(只添加这个目录下的头文件)
linux-2.6.22.6/include/asm-arm/arch-s3c2410 //(2410处理器架构)
linux-2.6.22.6/include/asm-arm/hardware //(硬件相关头文件)
linux-2.6.22.6/include/asm-arm/mach //(具体的设备文件)
linux-2.6.22.6/include/asm-arm/plat-s3c24xx //(s3c24系列平台头文件)

以及添加include目录下除了asm-xx外的其它通用文件

建立uboot,内核的SI工程(1)

2.7 最后点击synchronize files    创建source insight工程

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,909
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,434
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,249
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,060
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,692
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,730