Content

Similar documents
Microsoft Word - Atmel-45136A-Pick-Best-Microcontroller-Strom-Eiland-Flodell_Article_CS

1. 請 先 檢 查 包 裝 內 容 物 AC750 多 模 式 無 線 分 享 器 安 裝 指 南 安 裝 指 南 CD 光 碟 BR-6208AC 電 源 供 應 器 網 路 線 2. 將 設 備 接 上 電 源, 即 可 使 用 智 慧 型 無 線 裝 置 進 行 設 定 A. 接 上 電 源

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

Panaboard Overlayer help

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

¬¬

Xear 3D USB CH-IN-2 SPKs 2 6 :

Microsoft Word - 正文.doc

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

LH_Series_Rev2014.pdf

<4D F736F F D20C4CFBEA9D0C2B0D9A3A A3A9A3BAC7C9BDB3BFAAB3F6BAC3D3F1C0B4A3ACB9D8D7A2D2B5CEF1BDE1B9B9B5F7D5FBA3BBCDB6D7CAC6C0BCB6A1B0BDF7C9F7CDC6BCF6A1B12E646F63>

Abstract arm linux tool-chain root NET-Start! 2

关 于 瓶 装 水, 你 不 得 不 知 的 8 件 事 情 关 于 瓶 装 水, 你 不 得 不 知 的 8 件 事 情 1 水 质 : 瓶 装 的, 不 一 定 就 是 更 好 的 2 生 产 : 监 管 缺 位, 消 费 者 暴 露 于 风 险 之 中 人 们 往 往 假 定 瓶 装 水 是

EMC® VNX® Series VNX8000™ Block 安装指南

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像

手册 doc

060522達文西密碼_全_.PDF

Lexmark Prospect Pro200 Series 快速参考手册

<4D F736F F D20C7B6C8EBCABD6C696E7578BBF9B4A1CAB5D1E92E646F63>

1.ai

USB解决方案.ppt

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63>

1

Ch03_嵌入式作業系統建置_01


Applied Biosystems StepOne™ Real-Time PCR System Quick Reference Card for Installation

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

简 介 本 白 皮 书 高 度 概 述 了 支 持 移 动 互 联 网 设 备 (Mobile Internet Device) 的 Intel C++ Software Development Tool Suite for Linux* OS, 目 标 读 者 主 要 是 技 术 决 策 制 订

PCM-3386用户手册.doc

BeagleBone Black emmc 烧写全记录 ( 基于 AM335x SDK06) emmc 存储介质目前越来越广泛的应用在嵌入式系统中,AM335x 的用户也越来越多的使用 EMMC 作为系统的主要存储介质 目前 AM335x 的几款官方 demo 板中, 只有 BeagleBone B

audiogram3 Owners Manual

2014 年 前 言 房 地 产 投 资 信 托 基 金 (Real Estate Investment Trusts,REITs) 在 海 外 早 已 发 展 成 熟, 而 香 港 政 府 去 年 也 进 一 步 准 备 放 宽 房 托 限 制, 相 比 之 下, 中 国 已 经 改 革 开 放

自然辩证法索引

产品手册

Chn 116 Neh.d.01.nis

* * 2

Microsoft Word - uboot说明.doc

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

Microsoft Word zw

T


一个开放源码的嵌入式仿真环境 ― SkyEye


自由軟體教學平台

RTX3.2.0标准版 - 技术白皮书

自由軟體教學平台

EK-STM32F

封面.PDF

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

“PC通”商业计划书.doc

SA2RGA Chinese user manual

Openmoko

AL-MX200 Series

自由軟體教學平台

PaPaGO! PaPaGO! PaPaGO! PaPaGO! PaPaGO! PaPaGO!

SA1MXX Chinese user manual

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Linux 操作系统课程社区创作

Microsoft PowerPoint - IAS 21 - IFRS宣導會.pptx

产品手册

Microsoft Word - S3c6410移植过程.doc

Microsoft Word - A doc

嵌入式Linux知识培训

CH01.indd

chap-1_NEW.PDF

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

员工签到录

Transcription:

君正 Date: Apr 2014

君正 Copyright Ingenic Semiconductor Co. Ltd 2014. All rights reserved. Release history Date Revision Change Apr. 2014 1.01 First release Disclaimer This documentation is provided for use with Ingenic products. No license to Ingenic property rights is granted. Ingenic assumes no liability, provides no warranty either expressed or implied relating to the usage, or intellectual property right infringement except as provided for by Ingenic Terms and Conditions of Sale. Ingenic products are not designed for and should not be used in any medical or life sustaining or supporting equipment. All information in this document should be treated as preliminary. Ingenic may make changes to this document without notice. Anyone relying on this documentation should contact Ingenic for the current documentation and errata. 北京君正集成电路股份有限公司地址 : 北京市海淀区西北旺东路 10 号院东区 14 号楼君正大厦电话 :(86-10)56345000 传真 :(86-10)56345001 Http: //www.ingenic.cn

目录 目录 1 概述... 1 2 准备开发环境... 2 2.1 准备 Linux 开发主机环境... 2 2.1.1 安装步骤... 2 2.2 准备烧录主机环境... 2 3 获取 Newton Linux SDK... 3 4 Newton Linux SDK 使用方法... 4 4.1 Newton Linux SDK 的结构简介... 4 4.1.1 u-boot 目录结构... 4 4.1.2 kernel 目录结构... 5 4.2 设置交叉编译环境... 6 4.3 U-Boot 的配置与编译... 7 4.4 Linux Kernel 的配置与编译... 7 4.5 制作 EXT4 格式的根文件系统... 8 4.6 烧录的分区信息... 8 4.7 烧录二进制镜像文件... 9 4.8 启动 Newton 板子... 9 4.9 帮助文档... 11 5 关注君正... 12 5.1 新浪微博号 : 北京君正官微... 12 5.2 微信号 : 北京君正... 12 5.3 北京君正官网... 12 i

概述 1 概述 本开发指南将向读者介绍如何为君正 Newton 平台搭建 Linux 系统的开发环境, 以及如何获取 Linux SDK, 如何编译 U-Boot 和 Linux 内核等方法 本指南适合系统软件开发人员使用 为了构建基于 JZ4775 处理器的 Newton Linux 开发平台, 需要准备以下资源 : 1) 一台 Linux 开发主机, 我们推荐使用 64 位的 Ubuntu-12.04 系统 ; 2) 一套 Newton 开发板, 包括串口线 锂电池 以及 USB Device 线等 ; 阅读本指南前, 需要具有以下知识 : 1) 熟悉 Windows XP/7 操作系统, 熟悉 Windows 上安装设备驱动的过程 ; 2) 熟悉 Ubuntu 操作系统, 熟悉 Linux 环境变量配置, 熟悉 shell 命令和 Linux 命令行操作 ; 1

准备开发环境 2 准备开发环境 本节介绍搭建 Linux 开发主机环境以及 Windows 烧录主机环境的方法 2.1 准备 Linux 开发主机环境 需要准备一台安装 Linux 系统的电脑作为开发主机 Linux 主机系统要求 : 1) 硬盘容量不少于 128GB; 2) RAM 不小于 4GB; 3) 安装 Ubuntu-12.04 32 或 64 位系统 2.1.1 安装步骤 1) 在开发主机上安装好 Ubuntu-12.04 系统 ; 2) 安装必需的软件包 : $ sudo apt-get git build-essentials 3) 在 64 位 Ubuntu 上运行 32 位程序需要安装 ia32-libs: $ sudo apt-get ia32-libs 2.2 准备烧录主机环境 君正目前仅提供运行在 Windows XP/7 上的 USB 烧录工具 具体如何安装烧录工具驱动和运行 烧录工具进行烧录, 请参考另一个文档 Newton_Quick_Start_Guide_CN.pdf 如果想更多了解烧录工具, 可以访问君正官网 http://www.ingenic.cn 开发支持 - 辅助工具 - USB 烧录工具, 里面有所有烧录工具版本和详细指南 2

获取 Newton Linux SDK 3 获取 Newton Linux SDK Newton Linux SDK 可从君正 GIT 仓库下载, 并使用 repo 对多个 GIT 仓库进行管理 按照下面步骤进行操作 : 1) 下载 repo 脚本 $ mkdir newton-linux $ cd newton-linux $ wget http://git.ingenic.cn:8082/bj/repo $ chmod +x repo 2) 下载 Newton Linux SDK $./repo init -u http://git.ingenic.cn/linux/manifest.git -b newton-master -m customer.xml $./repo sync 以上操作开始下载代码, 需要等待一段时间, 下载速度依赖于实际网络条件 3

Newton Linux SDK 使用方法 4 Newton Linux SDK 使用方法 4.1 Newton Linux SDK 的结构简介 Newton 平台的 Linux SDK 包括 binaries documents sources 3 个目录,Linux SDK 包中涵盖了 uboot,kernel,rootfs 及其制作工具,MIPS 交叉编译工具链, 第三方开源代码和测试代码等 代码结构如下 : binaries/ : - host-tool/ : PC 主机端需要的一些工具, 如 mkimage - rootfs/ : 其中包含 mkrootfs, root 两个子目录 - mkrootfs/ : 包含制作 rootfs 的脚本和工具 - root/ : 根文件系统目录 - toolchain/ - mipseltools-gcc412-glibc261/ : 君正提供的 MIPS 交叉编译工具链 documents/ : 开发文档 sources/ : 源代码 - bootloader/u-boot/ : 君正移植的 u-boot - kernel/linux-3.0.8/ : 君正基于 Linux3.0.8 移植的内核 - application/ : 第三方开源代码和测试代码 4.1.1 u-boot 目录结构 u-boot 目录结构如下 : cpu:cpu 相关文件, 其中的子目录都是以 U-Boot 支持的 CPU 命名的 君正系列的 CPU 相关 的代码都位于 cpu/mips/ 目录下, 主要文件包括 : - start.s MIPS 内核启动代码 - cpu.c CPU 其它相关代码, 如 TLB 和 CACHE 操作等 - jz4775.c JZ4775 相关代码, 如系统 timer PLL 的初始化等 - jz4775_mddr.c Mobile DDR 控制器初始化代码, 一般情况下您不需要改动这里的代码, Mobile DDR 的参数配置在相应的板级配置文件中包含 ( 如 newton.h) - jz_serial.c 串行口 UART 驱动程序 - jz4775_eth.c 以太网底层驱动程序 - jz_i2c.c I2C 接口驱动程序 - jz_lcd.c LCD 控制器驱动程序 - jz_mmc.c MMC/SD 卡驱动程序 - jz4775_nand.c JZ4775 NAND flash 驱动 board: 开发板相关文件, 包括代码的链接脚本文件 u-boot.lds 和地址分配文件 config.mk 以及 4

Newton Linux SDK 使用方法开发板的初始化代码等 common: 与体系结构无关的文件, 包含各种 U-Boot 通用命令的文件 disk:disk 驱动的分区处理代码 doc: 相关文档 drivers: 通用设备驱动程序, 如各种网卡驱动 CFI 标准 Flash 驱动 USB Device 驱动等 fs: 各种文件系统的驱动, 如 EXT4 FAT JFFS2 CRAMFS 等 include: 各种头文件, 包含体系相关的定义和开发板的配置文件等 - include/asm-mips/jz4775.h JZ4775 相关的头文件定义 - include/configs/newton.h 基于 JZ4775 Newton 开发平台的配置文件 lib_generic: 所有体系通用的文件 lib_mips:mips 体系通用的文件 lib_arm:arm 体系通用的文件 nand_spl:nand SPL (Secondary Program Loader) 代码 msc_spl:mmc/sd SPL (Secondary Program Loader) 代码 net: 网络相关的代码 tools: 创建 S-Record 和 U-Boot 映像的工具, 如 mkimage 以 MSC 启动为例, 对于 JZ4775 Newton 平台其默认的 U-Boot 启动代码及相关的文件主要位于 msc_spl/board/newton 目录下, 主要文件包括 : - start.s Newton 平台 MIPS 内核启动代码 - u-boot.lds Newton 平台的代码链接脚本文件 - config.mk Newton 平台的地址分配文件 - cpu.c Newton 平台 CPU 其它相关代码, 如 TLB 和 CACHE 操作等 - jz4775.c JZ4775 Newton 平台相关代码, 如系统 timer PLL 的初始化等 - jz4775_mddr.c Mobile DDR 控制器初始化代码, 一般情况下不需要改动这里的代码,Mobile DDR 的参数配置在相应的板级配置文件中包含 ( 如 newton.h) - jz_serial.c 串行口 UART 驱动程序 - jz_mddr_init.c Mobile DDR 控制器初始化代码, 一般情况下不需要改动这里的代码,Mobile DDR 参数配置在相应的板级配置文件中包含 ( 如 newton.h) - msc_boot_jz4775.c Newton 平台 U-Boot 的初始化代码 4.1.2 kernel 目录结构 Linux 内核源代码的目录结构如下 : arch/mips/: kernel/: mm/: lib/: MIPS 体系相关目录和文件 MIPS 内核相关文件 MIPS 内存管理相关文件 MIPS 公用库函数 xburst/soc-4775/: JZ4775 处理器相关目录和文件 board/newton/: common/: include /: JZ4775 处理器 Newton 平台通用处理文件 JZ4775 处理器通用处理文件 boot/compressed/:uimage 生成目录 各种头文件, 包含 JZ4775 相关的定义和开发板的配置文件等 5

Newton Linux SDK 使用方法 Kconfig: MIPS 体系配置文件 Makefile: MIPS 通用 makefile configs/: 平台缺省配置文件 newton_msc_defconfig include/asm-generic/:mips 体系相关各种头文件 sound oss/jzsound/:jz4775/jz4780 处理器 OSS 音频驱动 devices/codecs: 编解码器驱动 interface/: 常用接口驱动 kernel: Linux 通用内核文件 mm/: Linux 通用内存管理文件 lib/: Linux 通用库函数 init/: Linux 初始化函数 ipc/: Linux 进程间通信函数 net/: 网络相关文件 fs/: 文件系统相关文件 jffs2/: JFFS/JFFS2 文件系统 ubifs/: UBIFS 文件系统 drivers/: 设备驱动目录 block/: 块设备驱动 char/: 字符设备驱动 cpufreq: cpufreq 驱动 input/: 输入设备驱动 keyboard,mouse,touchscreen 等各种输入设备驱动 mmc/: MMC/SD 卡驱动 mtd/: MTD 设备驱动 - ubi/: UBI 驱动 net/: 网络设备驱动 tty/serial/: UART 驱动 spi/: 同步串行接口驱动 usb/host: USB host 驱动 usb/otg: USB otg 驱动 usb/dwc2: USB dwc2 驱动 dwc2*.c usb/gadget: USB device gadget 驱动 file_storage.c video/jz4780_fb: LCD framebuffer 驱动 misc/jz_cim: Camera 驱动 4.2 设置交叉编译环境 6 在 Newton 平台上进行 Linux 3.0.8 内核开发之前, 首先需要安装好 MIPS 的交叉编译工具链 针

Newton Linux SDK 使用方法 对 Linux 3.0.8 内核的开发, 君正提供基于 GNU gcc-4.1.2 和 glibc-2.6.1 的 MIPS 交叉编译工具链, 位于 Linux SDK 包 binaries/toolchain/mipseltools-gcc412-glibc261 目录下 我们假设 Linux SDK 的路径为 SDK_ROOT 安装交叉编译工具链只需设置 PATH 环境变量到交叉编译工具链路径即可, 比如 : $ export PATH=SDK_ROOT/binaries/toolchain/mipseltools-gcc412-glibc261/bin:$PATH 按照上面建立好交叉编译环境后, 通过 mipsel-linux-gcc -v 命令验证交叉编译工具链是否已经 安装成功 : 图 4-1 验证交叉编译工具链是否已经安装成功 4.3 U-Boot 的配置与编译 配置和编译 U-Boot 的过程很简单, 对于 Newton 平台编译操作如下 : $ make distclean $ make newton_msc_config $ make 编译后生成 mbr-uboot-msc.bin 4.4 Linux Kernel 的配置与编译 在编译 kernel 时, 需要用到 u-boot 中生成的工具 mkimage 建议将 u-boot/tools/mkimage 放在 系统可执行目录下, 比如 /usr/bin/ 否则, 需要指定 PATH 路径指向 mkimage 所在的目录 首先, 选择 Newton 板的配置 : $ make newton_msc_defconfig 然后编译内核 : $ make $ make uimage 7

Newton Linux SDK 使用方法 命令 make uimage 编译生成 U-Boot 可以引导的二进制映像 uimage, 位于 linux-3.0.8/arch/mips/boot/compressed/ 目录下 4.5 制作 EXT4 格式的根文件系统 进入 SDK_ROOT/binaries/rootfs/rootfs-newton/mkrootfs 目录, 执行以下命令 : $./mk_rootfsimg.sh rootfs 该命令会在当前目录下生成 EXT4 格式的 rootfs.img 4.6 烧录的分区信息 表格 4-1 JZ4775 Newton 开发板烧录文件分区表 Board Hardware File Start Add( B) Start Page Nand Option USBBurnTool Configuration Storage: EMMC mbr-uboot-msc.bin 0 0 N_OOB Newton 4G, 512B/Sector uimage 3M 6144 N_OOB Jz4775--eMCP-MDDR.ini Mem: Mobile DDR rootfs.img 56M 114688 N_OOB 选择配置 Jz4775--eMCP-MDDR.ini, 文件烧录前请正确选择要烧录的文件, 并确认文件对应的 烧录位置 : mbr-uboot-msc.bin : 烧录位置 Start Page 为 0 uimage : 烧录位置 Start Page 为 6144 rootfs.img : 烧录位置 Start Page 为 114688 烧录的文件及其对应的位置如下图所示 : 8

Newton Linux SDK 使用方法 图 4-2 镜像文件及其对应的烧录位置 4.7 烧录二进制镜像文件 将编译生成的 mbr-uboot-msc.bin,uimage,rootfs.img 烧录到 Newton 开发板 详细的烧录过程, 请参阅 Newton 板 Demo 镜像烧录指南 4.8 启动 Newton 板子 烧录完成后, 连接好 Newton 板串口线, 设置好 UART 参数 ( 波特率 :57600, 数据位 :8bit, 奇 偶校验位 : 无, 停止位 :1, 数据流控制 : 无 ), 然后按照正常方式启动 Newton 板 如果串口输出以下信息, 说明 u-boot 启动成功 : 9

Newton Linux SDK 使用方法 图 4-3 U-boot 启动成功 如果串口输出以下信息, 说明 Linux 内核启动成功 : 图 4-4 Kernel 启动成功 如果串口输出以下信息, 说明 Linux 内核挂载根文件系统成功 : 图 4-5 Linux 根文件系统挂载成功 10

Newton Linux SDK 使用方法 4.9 帮助文档 SDK_ROOT/documents 下有相关外设模块的帮助文档, 请阅读了解详情 : README_ WIFI: WIFI 设备的配置及测试帮助文档 README_ BLUETOOTH: Bluetooth 设备的配置及测试帮助文档 README_ SENSOR: 传感器设备的配置及测试帮助文档 README_ MISC: 其它设备, 如 Audio, USB 的配置及测试帮助文档 11

关注君正 5 关注君正 欢迎关注君正的微博和微信, 第一时间获得君正最新动态 5.1 新浪微博号 : 北京君正官微 图 5-1 北京君正新浪微博 5.2 微信号 : 北京君正 图 5-2 北京君正微信 5.3 北京君正官网 官网主页 :http://www.ingenic.cn/ 芯片产品主页 :http://www.ingenic.cn/cn/cn/product.php?fid=782 开发支持主页 :http://www.ingenic.cn/cn/cn/kfzc.php 12

关注君正 如有技术方面问题和建议, 请联系君正技术支持 : 邮箱 :support@ingenic.cn 电话 :4008-900-223 13