5172|2

253

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MYZR IMX283源码文件 [复制链接]

源码文件(source code)
评估板对应的Linux版本及对应的源码文件见下表:
The corresponding Linux version of the evaluation board and the corresponding source code files are shown in the table below:
评估板型号
(evaluation board model)
支持的系统版本
(system version supported)
u-boot源码文件
(u-boot source code)
linux源码文件
(linux source code)
MY-IMX28-EVKLinux-3.14.54u-boot-2015.04.tar.bz2linux-3.14.54.tar.bz2
交叉编译工具文件(cross compiler tool file)
Linux程序交叉编译工具:gcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.bz2
Linux program cross compiler tool:gcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.bz2
Linux交叉编译工具配置文件:gcc-4.4.4-glibc-2.11.1-multilib-env
Linux cross compiler tool configuration file:gcc-4.4.4-glibc-2.11.1-multilib-env
创建工作目录(creat working directory)
1)源码目录
source code directory
$ mkdir -p ~/my-imx28/02_source

2)工具目录
tool directory
$ mkdir -p ~/my-imx28/03_tools

3)镜像目录
image dirrectory
$ mkdir -p ~/my-imx28/04_image

4)应用程序目录
application directory
$ mkdir -p ~/my-imx28/01_application

准备开发环境(prepare development environment)
更新主机的源列表(update source list of host)
$ sudo apt-get update

更新完成后如下图所示:
it looks like below after the update

安装aptitude包管理工具和ia32-libs(install management tool of aptitude package and ia32-libs)
提示:如果编译主机的Linux是32位的,可以跳过此步骤。
tips: if Linux of compilation host is 32bit,then you can skip this step
安装aptitude包管理工具(install management tool of aptitude package)
$ sudo apt-get -y install aptitude

提示:上图为安装过aptitude后,再次执行安装命令的截图。
tips: the above image is the screenshots after re-execution of installation command when intallation of aptitude was completed.
使用aptitude安装ia32-libs( install ia32-libs with aptitude)
$ sudo aptitude -y install ia32-libs

提示:上图为安装过aptitude和ia32-libs后,再次执行安装命令的截图。
tips: the above image is the screenshots after re-execution of installation command when intallation of aptitude and ia32-libs was completed
安装mkimage工具(install mkimage tool)
$ sudo apt-get -y install uboot-mkimage
提示:下图为安装过mkimage工具后,再次执行安装命令的截图。
tips: the following image is the screenshots after re-execution of installation command when intallation of mkimage was completed

安装ncurses-dev(install ncurses-dev)
make menuconfig对其具有依赖性质
make menuconfig is dependant to it
$ sudo aptitude -y install ncurses-dev

提示:上图为安装过ncurses-dev工具后,再次执行安装命令的截图。
tips: the above image is the screenshots after re-execution of installation command when intallation of aptitude and ia32-libs was completed
安装配置交叉编译工具链(install and configure cross compiler tool chain)
安装Linux交叉编译工具链(install Linux cross compilation tool chain)
1)进入交叉编译工具链目录
enter cross compilation tool chain diretory
$ cd ~/my-imx28/03_tools/
2)复制Linux交叉编译工具到目录
copy Linux cross compilation tool to directory
将gcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.bz2复制到“~/my-imx28/03_tools”,这一步自己采取相应的方式完成。
copy gcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.bz2 to “~/my-imx28/03_tools”,this step need to be done in your own way。
3)解压Linux交叉编译工具
decompress Linux cross compilation tool
$ tar jxf gcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.bz2

4)复制交叉编译工具配置文件
copy cross compilation tool configuration file
将gcc-4.4.4-glibc-2.11.1-multilib-env复制到“~/my-imx28/03_tools”,这一步自己采取相应的方式完成。
copy gcc-4.4.4-glibc-2.11.1-multilib-env to“~/my-imx28/03_tools”,this step need to be done in your own way
5)检查安装
check installation
$ source gcc-4.4.4-glibc-2.11.1-multilib-env
$ ${CROSS_COMPILE}gcc –v

U-Boot编译(U-Boot compilation)
准备编译(prepare compilation)复制源码包到开发主机中(copy source code package to development host)
将下载的“u-boot源码”复制到Linux开发主机的“~/my-imx28/02_source”。
copy“u-boot source code”downloaded to “~/my-imx6/02_source”of Linux development host
这一步自己采取相应的方式完成。
this step need to be done in your own way
解压u-boot源码包(decompress u-boot source code package)
$ cd ~/my-imx28/02_source/
$ tar jxf u-boot-2015.04.tar.bz2

更新库libssl-dev(update library libssl-dev)
$ sudo apt-get install libssl-dev

编译(compile)使编译配置文件生效(validate compilation configuration file)
$ source ~/my-imx28/03_tools/gcc-4.4.4-glibc-2.11.1-multilib-env

进入u-boot源码目录(validate compiler configuration file)
$ cd ~/my-imx28/02_source/u-boot-2015.04

清除u-boot临时文件(remove u-boot temporary files)
$ make distclean

配置u-boot(configure u-boot)
评估板主型号
(evaluation board main model)
CPU类型-内存容量
(CPU type-memory capacity)
对应的u-boot配置
(corresponaind configuration of u-boot)
MY-IMX28-EVKMX283/7, 128Mmx28_evk_config
  • MY-IMX28-EVK配置示例:
example for MY-IMX28-EVK configuration
$ make mx28_evk_config

执行编译(execute compilation)
$ make u-boot.sb
提示:这里为了提高编译速度,在make后面加了“-j4”。这里编译的Linux主机是双核4线程的,所以“-j”后面用了4,也就是采用4线程编译。“-j”后面的数字可以根据系统资源分配,但是不应该超过编译主机最大支持的线程数。
Tips:To speed up the compilation,add "-j4" after make.The Linux host used to compile is dual-core ,4 threads .So "-j" is followed by 4, which takes 4 threads to compile. The number behind "-j" is allocated based on system resources,but It should not exceed the maximum threads the host support

  • 编译完成
complete compilation
提示:u-boot编译过程大概需要一、两分钟时间。
Tips: u-boot compiling process may take one or two minutes

目标文件(target file)
  • 编译文件
compile file
编译完成后通过ls命令即可看到编译得到的文件 u-boot.sb
you can get the compiled file u-boot .sb with ls command after compilation
$ ls

  • 目标文件
target file
MY-IMX28系列评估板的u-boot配置对应的目标文件名见下表:
The corresponding target file name for u-boot configuration of MY-IMX28 series evaluation board is shown in the table below
u-boot配置
(u-boot configuration)
目标文件
(target file)
mx28_evk_configimx28_ivt_uboot.sb
编译内核(compile kernel)
准备编译(prepare compilation)复制源码包到开发主机中(copy source code package to development host)
将下载的“linux源码”复制到Linux开发主机的“~/my-imx28/02_source”。
copy“linux source code”downloaded to “~/my-imx28/02_source”of Linux development host
这一步自己采取相应的方式完成。
this step should be done in your own way
解压linux源码包(decompress linux source code package)
$ cd ~/my-imx28/02_source/
$ tar jxf linux-3.14.54.tar.bz2

内核编译配置(configuration of kernel compilation)使编译配置文件生效(validate configuration file of compilation)
$ source ~/my-imx28/03_tools/gcc-4.4.4-glibc-2.11.1-multilib-env

清除内核临时文件(remove kernel temporary file)
  • 进入linux源码目录
enter linux source code directory
$ cd ~/my-imx28/02_source/linux-3.14.54

  • 清除临时文件
remove temporary file
$ make distclean

内核配置(kernel configuration)
$ cp .mx28_config .config

编译内核(compile kernel)
  • 执行编译
execute compilation
$ make zImage -j4

  • 编译完成
complete compilation

  • 目标文件
target file
arch/arm/boot/uImage即为编译得到的内核文件,使用ls命令可查看文件信息。
arch/arm/boot/uImage is the kernel file compiled,you can check file information with ls command
$ ls arch/arm/boot/uImage -la

编译设备树 (compife device tree)
评估板型号规格与设备树文件对应关系见下表:
The correspondence between the type of evaluation board and device tree is shown below:
功能
(function)
源码位置
(source code position)
Linux 设备和文件夹
(Linux device and folder)
评估板主型号
(development main model)
CPU类型-内存容量
(CPU type-memory capacity)
对应的设备树文件
(corresponding device tree file)
MY-IMX28-EVKMX283/7, 128Mimx28-evk.dtb
  • 以MY-IMX28-EVK为例
take MY-IMX28-EVK as an example
$ make imx28-evk.dtb

  • 目标文件
target file
使用ls命令可查看编译得到的目标设备树文件信息:
You can browse the target device tree file information from compilation with ls command:
$ ls arch/arm/boot/dts/*.dtb

编译模块 (compile module)
  • 编译模块命令
command for compiling module
$ make modules

  • 安装模块到指定目录
Install module to the specified directory
$ make modules_install INSTALL_MOD_PATH=./modules

  • 打包模块文件
package the module file
$ cd modules
$ tar cjf ../modules.tar.bz2 *

应用程序编译(application compilation)
Linux应用程序编译(Linux application compilation)编写应用程序(write an application)
  • 进入工作目录
enter working directory
$ cd ~/my-imx28/01_application/

  • 编写源代码
write souce code
$ vim hello.c
写入以下代码并保存
write following code and save
  • include
int main(int argc, char **argv)
{
  printf("Hello, MYZR!\n");
  return;
}
  • 查看代码
view code
$ cat hello.c

编译应用程序(compife application)
  • 配置环境变量
Configure environment variables
$ source ~/my-imx28/03_tools/gcc-4.4.4-glibc-2.11.1-multilib-env

  • 编译
compile
$ ${CROSS_COMPILE}gcc hello.c -o hello.out

注意:上面的命令有包含“$”号,即“${CROSS_COMPILE}gcc”,是引用我们source时产生的环境变量。
Note:The above command contains “$”,which is “${CROSS_COMPILE}gcc”. It is the environment variable generated when referring to our source.
  • 目标文件
target file
$ file hello.out

可以看到目标文件 hello.out 的属性。
you can see the property of target file hello.out
文件系统(file system)
文件系统rootfs.tar.bz2(file system rootfs.tar.bz2)
  用以下的方式增加自己的应用:(把MY-IMX28_Born_Tool\Profiles\MX28 Linux Update\OS Firmware\files\image-linux-31454/rootfs.tar.bz2复制到“~/my-imx28/04_image/”目录下)。
add your own application by the following means: (copy MY-IMX28_Born_Tool\Profiles\MX28 Linux Update\OS Firmware\files\image-linux-31454/rootfs.tar.bz2 to directory of“~/my-imx28/04_image/”)

文件系统filesystem.ubifs(file system filesystem.ubifs)
  复制mkfs.ubifs,ubinize到电脑的“/usr/bin”目录下(如果电脑有这两个应用就不需要复制了);复制build_rootfs和ubinize.cfg到“~/my-imx28/04_image/”目录。
copy mkfs.ubifs,ubinize to directory of“/usr/bin”of computer(if computer has both these two applications,the copy is not needed);copy build_rootfs和ubinize.cfg to directory of “~/my-imx28/04_image/”

烧写方式(programing mode)
  至此,我们在“~/my-imx28/02_source/”得到了除文件系统以外的一套烧录文件。包括“u-boot.sb”、“imx28-evk.dtb”、“zImage”、“rootfs.tar.bz2”。
so far,we get a set of programing file under directory of “~/my-imx28/02_source besides file system ,including “u-boot.sb”、“imx28-evk.dtb”、“zImage”、“rootfs.tar.bz2”
使用MFGTOOL烧写(program with MFGTOOL)
  把文件“u-boot.sb”、“imx28-evk.dtb”、“zImage”、“rootfs.tar.bz2复制到“MY-IMX28_Born_Tool\Profiles\MX28 Linux Update\OS Firmware\files\image-linux-31454”目录下。按住REC按键,插上MINI USB线和电源线,接着打开MfgTool.exe,点击“扫描设备”,检测到HID设备时,松开REC按键,如下所示:
copy “u-boot.sb”、“imx28-evk.dtb”、“zImage”、“rootfs.tar.bz2 to the directory of “MY-IMX28_Born_Tool\Profiles\MX28 Linux Update\OS Firmware\files\image-linux-31454”.hold REC key,plug in MINI USB line and power cable,then open MfgTool.exe,click"scan device",detect HID device,release REC key,like below:


  点击菜单的“Options”,然后在选项“Profiles”选择“MY-IMX28-3.14.54 NAND with uboot”,接着点击“确定”,最后点击“开始”。
click“Options”on menu,then select“MY-IMX28-3.14.54 NAND with uboot”on option of “Profiles”,then click“Enter”,finally click“start”

  烧写成功后,点击“停止”就OK了。
when programing is successful,click"stop",to be completed
注意:如果你用的文件系统是rootfs-qt.tar.bz2,请选择“QT-MY-IMX28-3.14.54 NAND with uboot”烧写镜像。
note: if file system in use is rootfs-qt.tar.bz2, please choose “QT-MY-IMX28-3.14.54 NAND with uboot”as programing image
使用网络烧写(program with network)搭建TFTP (ubuntu系统)(build up TFTP (ubuntu system))
(1) Setup tftp server files
此帖出自工控电子论坛

最新回复

路过看看  详情 回复 发表于 2018-6-1 18:56
点赞 关注(1)
 

回复
举报

369

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
路过看看
此帖出自工控电子论坛
个人签名充放电数显全套方案,双口快充慢充检测电流电压,两线三线直流电压表,配套三个8尺寸15*8MM带AV电流电压单位专利数码屏,资料QQ2981074992 邮箱同上
 
 

回复

253

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
此帖出自工控电子论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表