罗纳尔多
易百纳技术社区
易百纳技术社区
0 访问量
0 原创专栏
0 资料
0 粉丝
个性签名:此E友还没有留下个性签名哦~
加入易百纳时间:2012-12-04

个人成就

易百纳技术社区 共获得 0 个点赞
易百纳技术社区 共获得 0 个收藏
易百纳技术社区 共获得 0 次评论/回复

个人勋章

暂无勋章
分类专栏

Ta擅长的领域

暂无
  •   在RealviewMDK中,Flash烧写算法不是通用的,都是针对具体的Flash存储芯片的。由于市面上的Flash种类比较多,所以Realview MDK不可能包含所有的Flash芯片烧写程序。但是在具体的应用中,开发者在Realview MDK中可能会找不到自己所需要的Flash烧写程序,这时,用户就必须自己添加Flash烧写程序。本文将详细的探讨这种方法。     Realview MDK已经定义好了添加到其中的Flash烧写算法的接口,包括1个描述Flash芯片的结构体和6个对Flash芯片操作的函数定义。详细的内容可以参考下面的代码。     structFlashDevice  {     unsigned short    Vers;    //体系结构及版本号;     char    DevName[128];    //设备的名称及描述;     unsigned short  DevType;    //设备的类型,例如: ONCHIP, EXT8BIT,EXT16BIT等等;     unsigned long   DevAdr;    //默认设备的起始地址;     unsigned long    szDev;    //设备的总容量;     unsigned long   szPage;    //页面的大小;     unsigned long    Res;    //保留,以便将来扩展之用;     unsigned char valEmpty;    // Flash擦除后储存单元的值;     unsigned long   toProg;    //页写函数超时的时间;     unsigned long  toErase;    //扇区擦除函数超时的时间;     struct FlashSectors sectors[SECTOR_NUM];   //扇区的起始地址及容量设置数组。     };     extern int Init (unsigned long adr, unsigned long clk, unsignedlongfnc);     extern int UnInit (unsigned long fnc);     extern int BlankCheck (unsigned long adr, unsigned long sz, unsignedcharpat);     extern int EraseChip (void);     extern int EraseSector (unsigned long adr);     extern int ProgramPage (unsigned long adr, unsigned long sz, unsigned char *buf);     externunsigned long Verify (unsigned long adr, unsignedlongsz, unsigned char    *buf);    在RealviewMDK中,添加Flash烧写算法的实质就是填充上面的那个结构体以及实现那6个函数。至于几个函数是如何被RealviewMDK调用的,用户不必关心,这些是由Realview MDK自动管理的,只要正确的实现了上面的那些内容,开发者就可以将Realview MDK编译链接后的程序下载到自己的Flash芯片中去。下面是添加一个Flash烧写的详细步骤: 1.  在C:\Keil\ARM\Flash下新建一个空的子文件夹; 2.   在 Flash 文件夹中选择一个已存在的,且和欲添加的 Flash 算法相近的内容(如     ..\ARM\Flash\LPC_IAP_256) 拷贝到这个新文件中,并将此算法作为新算法的模板; 3.  重命名工程文件LPC_IAP_256.UV2以表示新的FlashROM设备名,如29F400.UV2并用μVisionIDE     将其打开; 4.  在对话框Project-OptionsforTarget-Output中将所有的输出文件名(如 LPC_IAP_256)替换为新的     设备名; 5.  编辑FlashPrg.C文件并为EraseChip,EraseBlock及ProgramBlock定义函数代码。在函数Init和UnInit     中编写算法所需的初始化以及卸载代码; 6.  在文件FlashDev.C中的structFlashDevice结构体中定义设备参数; 7.  重新编译工程,将在C:\Keil\ARM\Flash文件夹下生成*.FLX 格式的Flash编程算法。此文件即为     所添加的Flash编程算法; 8.  使用ConfigureFlashDownload 中的Add按钮可将此编程算法文件添加到目标应用工程中。
    2012-12-04
    0 0 2524
  • 在RealviewMDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。虽然这两个格式的文件非常有利于ULINK2仿真器的下载和调试,但是ADS的用户更习惯于使用*.bin格式的文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具。为了充分地利用现有的工具,同时发挥RealviewMDK集成开发环境的优势,将*.axf格式文件或*.hex格式文件转换成*.bin格式的文件是十分自然的想法。本文将详细的探讨这种转换方法。     在详细的介绍这种方法之前,先了解一下ARM公司的RVCT开发套件中的fromelf.exe转换工具是十分必要的,因为在RealviewMDK中生成*.bin格式文件的工具正是它。     fromelf.exe转换工具的语法格式如下:     fromelf[options]inputt_file     其中[options]包括的选项及详细描述见表一。     表一 fromelf工具的选项及描述表格     选项    描述    选项    描述 --heelp    显示帮助信息    ---vsn    显示版本信息 --output  file   输出文件(默认的输出为文本格式)    ---nodebug   在生成的映象中不包含调试信息--noliinkviiew    在生成的映象中不包含段的信息    ---bin    生成PlainBinary格式的文件--m32    生成Motorola32位十六进制格式的  ---i32    生成Intel32位十六进制格式的     文件    文件 --vhx    面向字节的位十六进制格式的文件    ---baseaddrr  设置m32,i32格式文件的基地址--ttext    显示文本信息    -v    打印详细信息 -a    打印数据地址(针对带调试信息的映  -d    打印数据段的内容     象) -e    打印表达式表printexceptiontables    -ff    打印消除虚函数的信 -g    打印调试表printdebugtables    -rr    打印重定位信息 -t    打印字符串表    -y    打印动态段的内容 -z    打印代码和数据大小的信息     在掌握了fromelf转换工具的语法格式以后,下面将介绍它在RealviewMDK中的使用方法:1.  新建一个工程,例如Axf_To_Bin.uv2; 2.  打开OptionsforTarget‘Axf_To_Bin’对话框,选择User标签页; 3.  构选RunUserProgramsAfterBuild/Rebuild框中的Run#1多选框,在后边的文本框中输入    C:\Keil\ARM\BIN31\fromelf.exe--bin-o./output/Axf_To_Bin.bin./output/Axf_To_Bin.axf命令行; 4.  重新编译文件,在./output/文件夹下生成了Axf_To_Bin.bin文件。    经过上述4步的操作以后,将得到我们希望的Axf_To_Bin.bin格式的文件。
    2012-12-04
    0 0 2464
  • 相  同  点  :     基  本  不  需  要  人  的  干  预  ,  大  部  分  工  作  是  以  自  组     完  成  的  ,  二  者  统  称  为  自  组  织  网  络  。  二  者  的  研     求  低  功  耗  的  自  组  织  网  络  设  计  。 •   不  同  点  :    (  1)  网  络  拓  扑  结  构  和  工  作  模  式  各  不  相  同  。     A d hoc网  络  :  网  络  拓  扑  结  构  动  态  变  化  。     W  SN :  网  络  拓  扑  结  构  是  静  态  的  。    (  2)  工  作  模  式  不  同  。     W  SN :  多  对  一  (M  any-to-O ne)通  信  ,  节  点     不  会  发  生  消  息  交  换  。     A d H oc网  络    :  网  络  中  任  意  两  节  点  之  间  都     可  能  优化网络,优化带宽。
    2012-12-04
    0 0 4388
  • 驱动部分 driver目录下编译时,需要指定kernel的路径,修改driver目录下的makefile的 KDIR=指定的kernel路径/ hi3515v100-sdio:sd卡驱动 mouse:鼠标驱动 net:网卡驱动 sata:硬盘驱动 serial:232/485串口驱动 usbserial:3G驱动 usbstorage:u盘驱动 (1) kenerl编译方法: make uImage 生成路径: /arch/arm/boot/uImage (2)uboot make distclean make hiconfig ===> ./hiconfig 此时选择2 make 生成目标文件 u-boot.bin
    2012-12-04
    0 0 4019
易百纳技术社区
共4条
易百纳技术社区