您尚未登录。

楼主 #1 2018-05-21 12:00:20

小白菜
会员
注册时间: 2017-09-27
已发帖子: 88
积分: 88

新唐NUC970上移植Linux(NAND flsah篇)

烧录方法详见NUC970 Linux BSP快速入门手册.pdf
如果觉得麻烦这里更有视频相送详见972DownloadBin.avi

第一步:
請將 BSP 目錄中的壓縮包複製到 Linux 開發機器上. 並使用以下的命令解壓縮 :
    $ tar zxvf nuc970bsp.tar.gz

使用 sudo 來執行安裝腳本 (若是安裝的 Linux 沒有開放 root 權限, 例如 Ubuntu, 則可以
使用本方式來安裝 BSP)
    # sudo ./install.sh
   
以下為整個安裝過程:

Extract arm_linux_4.3.tar.gz to /usr/local/
Wait for a while
Successfully installed tool chain
Install rootfs.tar.gz, applications.tar.gz and linux-3.10.x.tar.gz
Please enter absolute path for installing(eg:/home/<user name>) :
/home/someone/nuc970_bsp//此目录就是制定未来的nuc970的“打包目录”,在此目录下会生成nuc970bsp
Please wait for a while, it will take some time
NUC970 BSP installion complete

第二步:
接下来进入到内核目录
cd nuc970bsp/linux-3.10.x

执行新唐提供的缺省配置
make nuc972_defconfig

接下来就是内核配置
make ARCH=arm menuconfig

General setup --->
    [ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support

Boot options --->
    (noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags
    console=ttyS0, 115200n8 rdinit=/sbin/init mem=64M) Default kernel command
    string
    Kernel command line type (Use bootloader arguments if available) ---
    >

File systems --->
    * Miscellaneous filesystems --->
    * yaffs2 file system support
    * Autoselect yaffs2 format
    * Enable yaffs2 xattr support
   
Device Drivers --->
    Generic Driver Options --->
        * Nuvoton NUC970 FMI function selection
            Select FMI device to support (Support MTD NAND Flash) --->
-*- Memory Technology Device (MTD) support --->
    <> Command line partition table parsing//此项如果默认使用驱动里的配置参数也就是分为三个mtdblock,就不选
    *Caching block device access to MTD devices
    -*- NAND Device Support --->
        -*- Nuvoton NUC970 MTD NAND --->
            NUC970 NAND Flash pin selection (Port I) --->
           
配置完成保存退出
接下来编译内核
make uImage

第三步:属于准备工作
如果提示mkimage找不到,需要进入uboot目录下,按照uboot的编译方式编译一下,然后就会在uboot/tools/目录下出现mkimage
编译uboot的方法参见NUC970 Linux BSP快速入门手册.pdf

mkyaffs工具来源于nuc970/applications/yaffs2utils,进入此目录执行如下操作
make clean
make

   
制作uImage.bin
sudo mkimage -A arm -O linux -T kernel -C none -a 0x7fc0 -e 0x8000 -d arch/arm/boot/zImage 970image.bin           
    1. YAFFS2製作In-band tags Image命令如下:(yaffs2的tag儲存在DATA區塊中)
    # mkyaffs2 --inband-tags -p 2048 rootfs rootfs_yaffs2.img
    注释:
        -A    指定CPU的体系结构
        -O    指定操作系统类型
        -T    指定影像类型
        -C    指定影像的压缩方式,这里none表示不压缩
        -a 指定映像在内存中的加载地址,映像下载到内存的时候,要按照用mkimage制作映像时,这个参数所制定的地址来下载
        -e 指定映像运行的入口点地址,也就是相当于程序的运行地址
        -d 指定映像的源文件

根文件系统制作成img格式的方法
./mkyaffs2 --inband-tags -p 2048 rootfs rootfs_yaffs2.img
注释:
    inband-tags    相当于一个内部标签
    -p 设置设备的页面大小
   
以上操作因为没有调试uboot所以这里使用的是官方提供的uboot.bin,后面用到的话将会做补充

接下来是qt5.4的的移植过程,这里分开文件写了

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn