--专题: 一个人

白金译作 自制C8051F320简易评估板和Linux编程器

3109个读者 cccccc @ yeeyan.com 03/31/2008 双语对照  原文 字体大小

简介

一个为C8051F320做的简单评估板和LINUX编程器

首先我要警告你们!!!这是一个自由、试验性的设计。在我这工作得很好,但是我不能给你任何担保,这是过失自由。当准备材料发表这篇文章时,我可能犯下任何错误,硬件和软件上都有可能有未被发现的漏洞。它也有可能侵犯某人的专利...(尽管我对此一无所知)。所以记住——你使用它,后果自负!!!

Silabs(以前的Cygnal)生产的C8051F320,是一个很好的带USB支持的微控制芯片。不幸的是,如果决定使用这块芯片开发,你不得不购买非常昂贵的开发套件。本文我向大家介绍一些替代品,自制便宜一些的工具套件。

首先是一个C8051F320的简易而且便宜的开发板。原理图基于Silabs公司的原始开发板。它被设计为单层PCB,因此非常容易在家自制。

 PCB设计是通过自由软件PCB完成的。对你们来说,可能运行不了PCB(比如,因为你们的电脑只运行那个破系统®),我提供了PDF文件

 原理图设计是通过自由软件gschem完成的, 但是同样我也提供了PDF文件

 然而如果没有编程器(译注:就是下载线),开发板本身毫无用处。为了尽量减少开支,我提供了一个简单的编程器(这是XFig格式的原理图源文件),它直接的电脑的并口连接。

编程器由一个用C语言写的专用软件控制。这个软件(源码以GPL发布)由两部分组成。第一部分是一个专用Linux驱动,第二部分是一个软件“cygprog”。要使用编程器你首先必须装载驱动(以根用户执行):

# insmod cygnal_c2 io_base=0x378 major=233

(通常你需要调整你电脑并口的端口地址,使io_base 和major数字对应端口为空闲值域;你也可以不设置major——它会被动态分配,你需要从/proc/devices找到那个动态分配的确切值)。

然后你应该创建合适的设备节点。现在编程器期望在它的工作目录找到它,一个叫“cygnal”的节点(如果想改变名字你可以修改源码)。

# mknod cygnal c 233 0

现在你可以使用软件了。给普通用户cygnal设备的访问权和以普通用户执行软件是一个明智的作法:

# chown user.user cygnal

一个重要说明——我写的驱动与“parpot”设备不兼容。在使用cygnal设备之前,必须移除“parport”驱动和/或“lp”驱动。

我的编程器软件现在只能识别从地址0开始的原始二进制文件。你可以使用“srec_cat”工具(在Debian的“srecord”包中有提供),把标准的“ihx”文件(SDCC编译器产生)转化成二进制文件。你应该使用这样的命令行:

$srec_cat -Output test.bin -Binary wzab.ihx -Intel

把“ihx”文件转化成二进制文件。

然后就可以使用cygprog软件把程序写进设备记忆体:

$./cygprog p test.bin

软件也可以验证记忆体中的程序(./cygprog v test.bin),或把设备记忆体中程序写入文件(./cygprog r output.bin)。

当然这只是第一个草稿版本(然而对我来说它很有用),所以如果你可以提出任何修改和建议,我会很感激。

我已经接到一些信息,说在2.6版本的内核无法编译驱动。我已经检查过,并对源文件作了一些小改动。这里是为2.6内核改进的源码。压缩文件包含两个子文件夹:"driver"和"program"。在"driver"子文件夹内打命令将编译驱动模块(然而编译过程中可能会出现一些警告),在"program" 内会编译编程器软件的用户模块。

需要改进之处

  • 筹备在自由许可(GPL或Artistic)下发布的USB固件,以便能用SDCC C 编译器编译。
  • 改进编程器,让它只擦除闪存记忆体中需要擦除的页面。
  • 设计能在Linux操作系统下工作的C2调试工具(然而这个任务需要C2调试说明书,比如寄存器映象和引用命令——如能提供帮助万分感激)

Matt Otto发来的改进

前些日子我接到一个编程器的改进版本,是Matt Otto做的。这是他在README文件中所写的:
这是Wojtek Zabolotny的C2编程器增强版。有两个重要改进:

  1. 我把源代码包含到一个新程序中去了,c2mon.c,它演示了在C2接口中如何显示调试操作。在程序运行时它显示非常粗糙(没有用户交互),但是源代码展示了如何显示任何你想要的调试任务。 
  2. 为了支持一些没有说明的C2接口行为,我必须改进Wojtek的驱动和原理图。这些改进允许发送和接收短的C2CK脉冲。

除了C2CK改进之处,我也对驱动增加了即插即用(PNP)支持,以便它能在工的电脑上工作(我不知道是我的电脑硬件不同或是2.6.12内核需要它)。我没有试图把c2mon做成一个与操作系统无关的软件,而是开始把c2com整合到SDCDB中去,SDCDB是SDCC所带的调试器。(目前为止,SDCDB只知道如何与uCsim仿真器接口。)在这完成这个项目之前,希望c2mon.c样本代码会有用。
Matt Otto matt@__NO_SPAM__klox.net

译作评分
10
请给出您的评分  提交

更多关于 SOC linux 的翻译文章

4条评论

  • 1.

    cccccc 状元  | Blog  | 03/31/2008

    这个公司烂,在任何地方都找不到C2协议,那就没人做得出完全功能的下载线了。只能买...

     
  • 2.

    mldzkj 童生  | 04/01/2008

    西安铭朗 以太网控制控制开发板ML-CP2200/F340DK

    本开发板是针对CP2200以太网控制器和C8051F340单片机(SOC)而开发的,板上可实现简单WEB服务器,可通过工具方便配置出各种网络协议,以适应各种应用。针对C8051F340单片机片上的全部资源,我们编写了所有功能的测试程序,对该单片机的性能做了全面的测试评估,使用方便。使用该开发板能使开发者迅速掌握CP2200以太网控制器和C8051F340单片机的软硬件设计,大大缩短了产品开发周期。

    核心MCU资源
    CP2200以太网控制器简介
    CP2200/1是集成了IEEE 802.3以太网媒体访问控制器(MAC)、10Base-T物理层(PHY)和8KB非易失性FLASH存储器的单芯片以太网控制器,采用28脚QFN(5x5mm)或48脚TQFP封装。

    C8051F340芯片资源:
    C8051F340是完全集成的混合信号系统级MCU芯片。下面列举了一写主要芯片资源:
    •高速流水线结构的8051兼容的CIP-51内核(最大48MIPS);
    •全速非侵入式的系统调试接口(C2接口);
    •USB总线接口,全速12Mbps,1KB FIFO;
    •真正10位200ksps的17通道ADC,带模拟多路开关;
    •64K字节可在系统编程的FLASH存储器;
    •5376字节的片内RAM;
    •可寻址64K字节地址空间的外部数据存储器接口;
    •硬件实现的SPI,SMBus/IIC和两个UART串行接口;
    •4个通用的16位定时器;
    •具有5个捕捉/比较模块的可编程计数器/定时器阵列;
    •片内看门狗定时器,2个比较器,VDD监视器和温度传感器;
    •40个I/O端口;
    •-40~85度工业级温度范围;
    •2.7V~3.6V工作电压,48脚TQFP封装;

    可评估的其它MCU
    可评估的其它芯片(MCU):CP2201,C8051F341/2/3/4/5/6/7;

    开发板硬件资源
    •以太网控制器CP2200实现WEB服务器;
    •MCU:C8051F340,片内64K FLASH,5376Byte SRAM;
    •USB 2.0 与计算机通信;
    •2路10bit AD通过接线端子引出;
    •1路RS232接口;
    •3按键、LED等;
    •C2调试接口;
    •芯片所有资源对用户开放;

    软件例程简介

    •键盘与串行通信例程;
    •17路10位AD转换例程;
    •USB总线通信例程;
    •CP2200以太网通信例程;
    (1) 软件延时例程,包括微秒级、毫秒、级秒级延时程序;
    (2) 串行通信例程;
    (3) SPI总线驱动的LED数码管(8个)显示例程;
    (4) SPI总线驱动的8*1按键例程;
    (5) IIC总线AT24C02读写例程;
    (6) 6路PWM输出例程;
    (7) 32路12位AD转换例程;
    (8) 2路12位DA转换例程;
    (9) 片上RTC时钟显示例程;
    备注:
    其他开发板:{ML-F020(工业控制板) 、ML-F020(C8051F020开发板)、ML-F120(C8051F120开发板) 、ML-040(C8051F040开发板) 、ML-F410(C8051F410开发板) 、ML-CP2200/F340(CP2200 C8051F340开发板) 、ML-F350EK(C8051F350学习板) 、ML-F320(C8051F320开发板) 、ML-F060(C8051F060评估板) 、ML-F310(C8051F310评估板)}其他详细息见www.mlarm.com

    联系方式:TEL:029-88223597;MOB:13572843597;QQ:26876523;MSN:mldzkj@hotmail.com MAIL:mldzkj@163.com 王小姐)

     
  • 3.

    cccccc 状元  | Blog  | 04/01/2008

    看,来开买了吧。哈哈。

     
  • 4.

    mopz0506 童生  | 10/30/2008

    silabs 现在可以下载 c2 接口规范,是否完全还没看不清楚。

    http://www.silabs.com/pages/DownloadDoc.aspx?FILEURL=Support%20Documents/TechnicalDocs/C2spec.pdf

     

添加评论

阅读
发现
翻译