linux环境下学习51单片机

内核编译和嵌入式产品的设计与开发
walnut
帖子: 32
注册时间: 2007-03-03 21:42

Re: linux环境下学习51单片机

#16

帖子 walnut » 2010-07-04 22:46

ymp 写了:
walnut 写了:装好后在终端里输入gSTCISP

软件的菜单里有简单的说明

如果你用的是USB转RS232的转接线,在软件启动之前就要把线插上,并且要保证装好了驱动
在软件的port里选择你的串口,比如"/dev/ttyS0"或"/dev/ttyUSB0"之类的
在软件的baudrate里选择你的下载波特率,USB转接的串口,波特率可能要低一点,一般可试下9600和2400,普通的串口应该到115200都没问题的
在File name里选择你要下载的文件,必须是bin格式的,hex的需要转换一下,可以用hex2bin的软件,网上能找到
在接好你的STC89C52RC后,先按下Download按钮,然后再给你的STC89C52RC上电,这和官方的STC-ISP的操作一样
最后就等提示信息了,下载成功会有提示的
驱动如何安装呀。我安装了之后还是不知道怎么弄。可不可以详细讲以下怎使用。端口怎么选,驱动怎么装。
这个驱动的安装要看你用什么芯片的转换芯片了,2303的好像现在内核里有 2102的在他主页上有,CH341的网上能找到,但341的驱动不支持1200波特率,具体安装方法你看软件包里的readme、install
头像
Duron
帖子: 54
注册时间: 2007-02-10 22:48

Re: linux环境下学习51单片机

#17

帖子 Duron » 2010-07-10 0:29

walnut 写了:
Duron 写了:一直提示


We are trying to connect to your MCU ...


就没反应了

windows下载没问题

STC89C52RC
这个提示是在尝试通过串口和你的单片机通讯,这时需要让你的单片机冷启动,关电源,然后上电
如果不出现下载提示,也有可能你的串口在linux下有问题,尤其是USB转串口,你可以尝试调底波特率,但340的芯片不要用1200,用2400,当然,前提是你选对了你的串口设备
也有一种可能是你用的外部晶振不在支持范围内,目前只支持有4M 6M 8M 11.0592M 12M,其他暂时没空添加:P
确实是先下载再通电,串口没问题,我测试了,使用串口和其他机器通讯是正常的,串口设备当然选择对了,晶振是11.0592的,貌似目前开发板用的最多的就算这种晶振吧
居然有人告诉我:“你装的Linux 是盗版”。
walnut
帖子: 32
注册时间: 2007-03-03 21:42

Re: linux环境下学习51单片机

#18

帖子 walnut » 2010-07-14 9:48

:em06
提供一点更详细的信息?
固件版本?外部晶振?使用的波特率?终端信息?

软件是为开发板准备的,目的就是保证自己的开发板能在Linux下用,有没兴趣买我开发板的? :em04
有没在linux下折腾51的?给点好的建议,比如好的软件、学习方法什么的,我可以加在开发板光盘里 :em05

软件能用或不能用的,多给点反馈,总归要改进下的 :em11
walnut
帖子: 32
注册时间: 2007-03-03 21:42

Re: linux环境下学习51单片机

#19

帖子 walnut » 2010-07-14 9:51

USB转串口的线测试过CP2102、PL2303、CH340
CH340不支持1200,波特率也不能太高
其他线手头没有就没测过
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: linux环境下学习51单片机

#20

帖子 eexpress » 2010-07-14 10:01

23xx系列的,应该是最容易的。嘛都正常。
● 鸣学
bit.jeff
帖子: 4
注册时间: 2010-09-03 20:36

Re: linux环境下学习51单片机

#21

帖子 bit.jeff » 2010-09-03 23:01

支持一个
头像
GoodLuckyBoy
帖子: 50
注册时间: 2010-04-23 17:11

Re: linux环境下学习51单片机

#22

帖子 GoodLuckyBoy » 2010-10-17 13:53

Duron 写了:一直提示


We are trying to connect to your MCU ...


就没反应了

windows下载没问题

STC89C52RC
我的也是这个问题,真是郁闷了…… :em20

是不是我的USB转串口驱动没安装的问题?
呵呵,为了能在Ubunut下做单片机开发,搞了半天啦,还不行

额,新手+菜鸟: 真难
每夜唱不停,为了心中那点未了情
远古的人类
帖子: 6
注册时间: 2010-06-05 13:23

Re: linux环境下学习51单片机

#23

帖子 远古的人类 » 2010-10-19 9:19

make的时候出错:
main.c:25: fatal error: vte/vte.h: No such file or directory

:ubuntu 10.10 安装了libvte-dev libvte-common
walnut
帖子: 32
注册时间: 2007-03-03 21:42

Re: linux环境下学习51单片机

#24

帖子 walnut » 2010-10-28 11:43

/usr/include/vte/vte.h

运行有问题,给个终端运行的提示,不然不能确定问题所在
roceozz
帖子: 19
注册时间: 2008-07-10 22:31

Re: linux环境下学习51单片机

#25

帖子 roceozz » 2010-11-01 22:49

绝对有问题!!!!
ac5167487
帖子: 3
注册时间: 2010-12-08 0:17

Re: linux环境下学习51单片机

#26

帖子 ac5167487 » 2010-12-09 21:04

请问下楼主我在“ubuntu软件中心”装了sdcc后,不知道在哪里启动。 :em03
walnut
帖子: 32
注册时间: 2007-03-03 21:42

Re: linux环境下学习51单片机

#27

帖子 walnut » 2010-12-15 19:36

ac5167487 写了:请问下楼主我在“ubuntu软件中心”装了sdcc后,不知道在哪里启动。 :em03
打开一个终端,直接输sdcc
demonhack
帖子: 82
注册时间: 2008-07-09 21:37

Re: linux环境下学习51单片机

#28

帖子 demonhack » 2011-03-27 21:53

walnut, 哥们,sdcc输出的是bin文件么?因为我只在win下写过51的程序,输出的都是hex文件啊。小弟不懂,不吝赐教
drzhaw
帖子: 16
注册时间: 2008-05-17 11:54

Re: linux环境下学习51单片机

#29

帖子 drzhaw » 2011-03-29 21:51

cain.lee 写了:怎么编译不了呢?提示出错``最先是./configure
然后是make `提示出错gcc -DHAVE_CONFIG_H -I. -I.. -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/local//locale"\" -D_REENTRANT -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -MT gSTCISP-main.o -MD -MP -MF .deps/gSTCISP-main.Tpo -c -o gSTCISP-main.o `test -f 'main.c' || echo './'`main.c
main.c:25:21: error: vte/vte.h: 没有那个文件或目录
main.c: In function ‘create_MainWindow’:
main.c:365: warning: assignment makes pointer from integer without a cast
main.c:367: error: ‘VTE_ERASE_ASCII_BACKSPACE’ undeclared (first use in this function)
main.c:367: error: (Each undeclared identifier is reported only once
main.c:367: error: for each function it appears in.)
main.c: In function ‘on_button_program_clicked’:
main.c:671: warning: assignment discards qualifiers from pointer target type
main.c: In function ‘create_file_choose’:
main.c:817: warning: not enough variable arguments to fit a sentinel
make[2]: *** [gSTCISP-main.o] 错误 1
make[2]:正在离开目录 `/home/cainlee/下载/gSTC-ISP/src'
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/home/cainlee/下载/gSTC-ISP'
make: *** [all] 错误 2
这事什么原因呢


VTE_ERASE_ASCII_BACKSPACE 没定义
bywetech
帖子: 6
注册时间: 2011-04-24 21:48

Re: linux环境下学习51单片机

#30

帖子 bywetech » 2011-04-24 21:50

在Linux系统下去烧录单片机
本帖最后由 bywetech 于 2011-4-24 16:03 编辑

怎样在Linux系统下去烧录单片机51,avr,pic,fpga等实现实时控制子系统


{编辑器}:
首先介绍一下编辑器,emacs,vi,geany,等通用编辑器,(本人用终端的nano编辑器),把源代码编辑好之后进入以下环节。
二进制和hex编辑器有 beav, bless, bvi,lfhex等是不错的bin和hex文件的编辑器。
{编译器}:
其次是用软件把源代码编译成微控制器可以识别的代码,这里必须用的就是sdcc编译器(Small Device C Compiler)和gcc,gcc-avr,gcc-m68x,等。
*SDCC是小型器件c编译器,集成和优化的ANSI- C编译器目标是可以对英特尔8051,maxium,80DS390,Zilog公司的Z80和摩托罗拉68HC08微控制器。工作是支持Microchip的PIC16和PIC18系列的进展。SDCC是自由开放源码软件,在GNU通用公共许可证(GPL)发布。
编程的语言以c和汇编为主。
*gcc就太熟悉了。


还有一些专门针对固定器件的编译器:
01. mcu8051 ide, ASEM51(汇编),UISP, as31, dis51,等是专门针对51系列单片机的编译软件;
02. avra,avarice,arduino ide 等是专业针对avr系列进行编译的软件;
03, pikdev, piklab,gputil(兼容MPASM)等软件是专业针对microchip公司的pic和dspic系列的芯片进行编译和反编译的软件。
04. a56, crasm, biuntils-m68hc1x等是专业针对motorola, freescale 的 编译软件。
05,z80asm , z80dasm是专业针对zilog的 z80器件进行编译的软件。
等等... ... 很有很多

{烧录软件}和{jtag在线调试}


把编译的代码可以直接烧录到芯片中,这个是开发的必经之路。必须确定烧录硬件的可行性和正确性等,然后进行烧录。


01, 51系列的ASEM51支持的最多,http://plit.de/asem-51/derivat.htm, 几乎支持所有厂家的8051各个型号芯片。用BOOT-51写入到eeprom.
这个软件也是教程最完善的一个。
02.MCU 8051 这个IDE包含模拟仿真器,源代码编辑器,汇编器,硬件编程器和许多其他工具。是工具最全的51开发环境。
http://mcu8051ide.sourceforge.net/
03.s51dude,是一个专业的,基于终端的针对AT89S8252,AT89s53的isp烧录软件,usbtiny.
http://gd.tuwien.ac.at/opsys/linux/debi ... s/s51dude/
04.uisp, 是一个专业的,基于终端的针对AT89S518252,AT89s52的isp烧录软件,
http://www.nongnu.org/uisp/
05,usbprog,是一个针对usb转rs 232 的一个烧录软件,主要应用到avr 和 arm的固件烧录,(有一个固定的硬件)。
http://www2.embedded-projects.net/index.php?page_id=165
06,arduino是一个有专业电路板(arduino电路板)的avr 的集成开发环境(有一个固定硬件)。
http://www.arduino.cc/
07,avrp是一个针对flash和eeprom的烧录软件,应用到avr 8位系列的单片机和 at89系列的单片机。
http://www.colargol.tihlde.hist.no/~jonah/el/avrp.html
08,avrprog是一个针对atmel公司的avr系列的isp烧录软件,基于通过pc的并口转串口器件的烧录。
http://sourceforge.net/projects/avrprog/
09,avrdude是一个针对avr的isp烧录软件,针对rom和eeprom,基于终端操作。
http://www.nongnu.org/avrdude/
10,gdb avr, 是一个源代码调试软件,基于avr.
http://packages.debian.org/search?keywords=gdb-avr
11. picp,是一个比MPlab要快的软件,支持PICSTAR,Warp-13 or JuPic等编程器。
http://pp06.sourceforge.net/picp.html
12,pikdev是一个集成开发环境,同时支持并口,串口和usb全系列编程器进行烧录pic和dspic全系列的芯片。(piklab是基于pikdev开发的)。
http://pikdev.free.fr/


13,ARM和FPGA等一些支持jtag的芯片可以直接用openOCD, openwince-jtag, urjtag进行调试。
http://openocd.berlios.de/web/
http://urjtag.org/
14,TI系列的就可以用TI CCS 5.0.2 进行开发, 详细可见:TI CCS 5.0.1 支持linux
下载地址:http://processors.wiki.ti.com/index.php ... _Studio_v5


{仿真软件和仿真器}:同时可以用相关的专业软件进行仿真。
比如emu8081可以仿真51系列,gnusim8085是intel 8085的ide软件,simulavr,avarice可以仿真avr系列,gpsim,simulpic,nitpic等针对microchip公司的pic和dspic系列, softgen,是专业针对arm和dsp等进行嵌入仿真的软件,spim是mips R2000/R3000系列的仿真,coldfire是freescalecoldfire 5206仿真器, freeHDL是VHDL 在linux 环境下的仿真软件,verilator是一个verilog的仿真软件,sdcc-ucsim是一个MCS51 family, HC08 and Z80通用的仿真软件,
{基础电路设计}
qucs是一个不错的基础电路设计和仿真软件。
kicad是一个支持3d仿真的pcb设计软件, 包括原理图和元件库等。也可以选择eagle, geda, pcb等开源pcb软件。


总结:


到此,相信电子爱好者,同时也是Linux和开源铁杆用户们,可以尽情的去开发... ...
回复