易截截图软件、单文件、免安装、纯绿色、仅160KB

基于C语言和GEL语言的Flash编程新方法(转帖)

以TMS320VC5402为例,探讨一种综合运用C语言、数据文件及GEL语言的Flash编程新方法。
  该方法完全采用C语言编写烧写程序,解决了指针不能访问高端Flash的问题;把引导表作成数据文件,可实现大引导表的分批次加载;通过GEL程序控制C程序执行,较好地体现了Flash编程的流程。
  引言
  在DSP应用系统开发的后期,一般需要将用户程序写进Flash等非易失性存储器,以便采用并行引导的方法实现用户程序的自举加载。这一步骤称为“烧写”;针对Flash的烧写又称为Flash编程。以往的编程方法大多采用汇编语言编写程序,可读性较差,并将引导表的制作也放在程序中实现;用户程序一变,烧写程序就得重新编写,不具有通用性。参考文献[1]采用C语言完成Flash读写,较清晰地体现了Flash编程的思想,但是它采用指针访问Flash空间,不能对高端Flash(64 K字存储空间以外)进行访问,且将引导表作成数组的方法仍显机械。
  这里提出的Flash编程方法完全采用C语言编写烧写程序,运用函数地址访问高端Flash,借助数据文件将引导表加载到数据空间。GEL(General Extension Language,通用扩展语言)作为一种程序扩展语言,被广泛用于调试及程序运行环境的定制。这里将GEL语言运用于Flash编程,可以控制C程序在数据加载完成后执行烧写过程,从而实现大引导表的烧写。
  1 DSP开发板及Flash存储器
  笔者使用的DSP开发板上有1片TMS320VC5402通用DSP芯片、1片SST39VF400A存储芯片(Flash)、键盘和液晶显示器等。其中Flash容量为256 K字(1字=16位),组织为128个扇区或8个块。为充分发挥Flash容量大的特点,本系统在硬件上将Flash空间的映射设计为:在上电自举过程中,Flash空间的0x04000~0x0FFFF映射到数据空间的0x4000~0xFFFF;上电自举完成后,整个Flash空间0x00000~0x3FFFF映射到程序空间的0x80000~0xBFFFF,即映射到了TMS320VC5402的扩展程序空间,处于高地址,因此称为“高端Flash”。由此可知,对系统进行应用开发时,Flash总是表现为高端Flash。
  
  图1 Flash编程流程
  2 Flash编程流程
  用户程序一般以可执行COFF(公共目标文件格式)文件格式存在(后缀名为.out),Flash编程所要完成的就是将此可执行文件转换成特定的ASCII码引导表的格式,并按此格式顺序写进Flash。Flash编程流程如图1所示。下面仅以一个动画显示程序qq.out为例,介绍如何将其烧写进Flash。
  .1 生成引导表
  通过Hex转换工具,将用户程序qq.o


相关文档:

通过这些OEM函数将系统映像写入到FLASH中

=============================================================
标题:与Flash操作有关的几个OEM函数
摘要:通过这些OEM函数将系统映像写入到FLASH中
备注: Windows Embedded CE 6.0
日期:2010.4.21
姓名:朱铭雷
=============================================================
    通过BOOTLO ......

一个FLash网游开发人员2008年的工作总结!

对自己哪方面工作满意,有效的经验总结有哪些?
1)        客户端的完整事件机制和消息分发机制的构建。
构建了比较稳定有效的事件和消息分发机制,目前的事件机制建立在AS3.0新的事件机制基础
之上,使用全局静态属性,并且传递的参数可以不限长度,不限类型的的进行添加,使服务器、
......

C/C++中的64位整数(__int64 and long long)

  在做ACM题时,经常都会遇到一些比较大的整数。而常用的内置整数类型常常显得太小了:其中long 和 int
范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即
0~4294967295。也就是说,常规的32位整数只能够处理40亿以下的数。
  那遇到比40亿要大的数怎么办呢?这时就要用到C++的64位扩展 ......

memcachde 与 c/c++ 应用

修改makefile,在LIBS里面加上-lmemcached,比如原来 gcc test.c,现在 gcc test.c -lmemcached。这个库就是libmemcached提供的。
然后添加#include<libmemcached/memcached.h>,这个文件也是libmemcached提供的。
主函数里面需要添加:
    memcached_st *memc;
    uint32_t&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号