一种基于SD卡的NorFlash烧写系统和方法

文档序号:9887434阅读:976来源:国知局
一种基于SD卡的NorFlash烧写系统和方法
【技术领域】
[0001 ]本发明涉及一种NorFlash烧写系统和方法,具体涉及一种基于SD卡的NorFlash烧 写系统和方法。
【背景技术】
[0002] NorFlash芯片地址线和数据线分开,可供CPU直接寻址,可在flash芯片上直接执 行启动程序,无需将启动程序复制到内存中,因此NorFlash芯片被广泛用作ARM、P 〇werPC等 嵌入式处理器芯片的系统启动芯片。目前,在嵌入式系统板卡开发中,一般先将bootloader 引导程序烧入NorFlash,之后可在bootloader下通过tftp方式烧写kernel内核、rootfs根 文件系统。目前bootloader烧写方法主要有以下几种:
[0003] 1)使用专用仿真器,如Jlink、Trace32等,利用板卡JTAG 口烧写到NorFlash中;
[0004] 2)使用专用烧录器,将NorFlash芯片烧写完成后,再焊接到板卡上或插到封装座 上。
[0005] 其中,1)的烧写方法较为常见,适用于NorFlash芯片已经焊接到板卡上,但需要专 用仿真器,而且仿真器价格较高。第二种方法适合大批量生产,但需要额外的烧录器,专用 烧录器价格也比较高。以上两种方法烧写NorFlash时均需要人工操作仿真器或烧录器,且 操作过程相对复杂。

【发明内容】

[0006] 为了克服上述现有方法的不足,本发明提供一种基于SD卡的NorFlash烧写系统和 方法,该方法为嵌入式系统开发NorFlash烧写提供一种低成本、简单可靠的手段。
[0007] 本发明的目的是采用下述技术方案实现的:
[0008] 一种基于SD卡的NorFlash烧写系统,所述系统包括相互通信的处理器模块、 NorFlash芯片和SD存储卡,所述NorFlash芯片通过LocalBus总线与处理器模块连接;其中,
[0009] 所述处理器模块,用于外挂NorFlash芯片和SD存储卡,采用跳线方式选择启动方 式;
[0010] 所述NorFlash芯片,用于存储BootLoader引导程序,并作为处理器模块常规启动 介质;
[0011] 所述SD存储卡,用于当处理器模块选择通过SD存储卡启动时,将BootLoader引导 程序烧写并存储至NorFlash芯片中。
[0012] 优选的,所述启动方式包括NorFlash启动和SD存储卡启动。
[0013] 优选的,所述处理器模块采用PowerPC处理器、ARM处理器或MIPS处理器。
[0014] 进一步地,所述PowerPC处理器采用飞思卡尔Freescale P1020芯片;所述 NorFlash芯片为Spansion S29GL01GP芯片;所述SD存储卡采用Sandisk SD存储卡,容量为 8GB〇
[0015]优选的,若所述SD存储卡包含kernel内核和rootf s根文件烧写镜像,可实现内核 和文件系统烧写。
[0016] -种基于SD卡的NorFlash烧写方法,所述方法包括:
[0017] (1)定义SD存储卡为启动盘,通过该SD存储卡加载bootloaderl引导程序,同时将 向NorFlash烧写的bootloader2引导程序复制到所述SD存储卡中;
[0018] (2)选择一块嵌入式板卡,将SD存储卡插入嵌入式设备SD卡槽,选择SD存储卡启动 方式,其中,所述嵌入式板卡选用PowerPC板卡、ARM板卡或MIPS板卡;
[0019] (3)板卡上电后从SD存储卡启动,执行SD存储卡中的bootloaderl引导程序,该 bootloaderl引导程序自动将SD存储卡内的bootloader2引导程序烧写到NorFlash中,直至 烧与完成;
[0020] (4)将嵌入式板卡启动方式改为NorFlash启动,重新上电后,处理器模块自动通过 NorFlash芯片加载SD存储卡中烧写的boot loader2引导程序。
[0021 ] 优选的,所述SD卡烧写NorFlash的具体步骤包括:
[0022] a)在ubuntul2.04下格式化SD存储卡,并创建FAT32分区;
[0023] b)在ubuntul2 · 04下使用Freescale boot_format工具将通过SD存储卡启动的 ubootl .bin二进制文件写入SD存储卡中;
[0024] c)在ubuntul2.04下将向NorFlash中烧写的uboot2. bin二进制文件复制到所述 FAT32分区中;
[0025] d)采用跳线方式选择SD存储卡启动;
[0026] e)板卡上电,处理器模块通过SD存储卡启动,执行ubootl .bin;
[0027] f)在ubootl .bin执行环境下,设置向NorFlash烧写uboot2.bin的环境变量uboot_ nor,并设置自启动环境变量bootcmd为run uboot_nor,执行bootcmd程序的代码指令;将环 境变量保存于SD存储卡中;其中,所述环境变量只需设置一次;
[0028] g)重新上电,在ubootl .bin执行结束后,根据设置的bootcmd自动执行uboot_nor, 以实现自动将uboot2. bin烧入Norf lash,直至烧写结束;
[0029] h)启动方式改为从NorFlash启动,重新上电后,处理器模块自动通过NorFlash加 载SD存储卡中烧写的uboot2.bin。
[0030] 进一步地,所述处理器模块采用PowerPC处理器、ARM处理器或MIPS处理器;
[0031 ] 所述PowerPC处理器米用飞思卡尔Freescale P1020芯片。
[0032]与现有技术相比,本发明达到的有益效果是:
[0033] 1)本发明充分利用嵌入式系统中常见的SD存储卡设备,实现SD存储卡启动时 NorFlash芯片的自动烧写,除去了生产调试人员操作仿真器或烧录器的繁琐过程,大大降 低了人工成本,提高了生产效率;
[0034] 2)本发明除了烧写bootloader外,还可以适用于向NorFlash烧写kernel内核、 rootfs根文件系统等,只需要将kernel内核、rootfs根文件系统复制到SD存储卡中,并调整 相应环境变量即可;操作简单且实用。
【附图说明】
[0035]图1为基于SD卡的NorFlash烧写系统结构示意图;
[0036]图2为基于SD卡的NorFlash烧写方法流程图;
【具体实施方式】
[0037]下面结合附图对本发明的【具体实施方式】做进一步的详细说明。
[0038]如图1所示,一种基于SD卡的NorFlash烧写系统,该系统包括相互通信的处理器模 块、NorFlash芯片和SD存储卡,所述NorFlash芯片通过LocalBus总线与处理器模块连接;其 中,
[0039]处理器模块,用于外挂NorFlash芯片和SD存储卡,采用跳线方式选择启动方式;其 包括NorFlash启动和SD存储卡启动。
[0040] 所述处理器模块采用PowerPC处理器、ARM处理器或MIPS处理器。其中PowerPC处理 器采用飞思卡尔Freescale P1020芯片;NorFlash芯片为Spansion S29GL01GP芯片;SD存储 卡采用Sandisk SD存储卡,容量为8GB。
[0041 ] NorFlash芯片,用于存储BootLoader引导程序,并作为处理器模块常规启动介质;
[0042] SD存储卡,用于当处理器模块选择通过SD存储卡启动时,将BootLoader引导程序 烧写并存储至NorFlash芯片中。若所述SD存储卡包含kernel内核和rootfs根文件,可烧写 镜像;实现内核和文件系统烧写。
[0043]如图2所示,一种基于SD卡的NorFlash烧写方法,所述方法包括:
[0044]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1