本文目录
- 怎么学习ARM和DSP
- 谁有天祥电子最新高级板ARM7/44B0强档嵌入式视频教程或者其下载地址啊
- 下载fpga程序到altera fpag上,dsp上的uclinux就会死机,怎么办
- 如何在嵌入式LINUX中增加自己的设备驱动程序
- 怎样下载 安装 ucLinux
- 如果使用JTAG口向开发板下载程序而不使用其调试功能,那么怎么制作下载器,用那些器件或芯片
怎么学习ARM和DSP
一 首先说说ARM的发展 可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。 客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。 DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。 FPGA的兄弟一般做ANSIC(特殊芯片设计,好象是这么翻译的)。而ARM单纯说来并不比一个单片机强多少,但是它的独特就在于不断下降的价格和提升的性能。这完全依靠于ARM公司的战略,厉害!!很佩服他们的战略眼光!! 值得注意的是:在找工作中,企业(著名的,小的不算)对单纯的ARM硬件开发工程师并不比单片机重视,很少有大企业的职位里写“从事过ARM开发优先”。写的多的是什么?“嵌入式LINUX”到这相信大家看出来了吧,需要的是硬件中的软件。二 ARM是硬件还是软件 很难说,ARM是硬件,LINUX是软件。ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。 实际中的LINUX的开发工作更多,更耗时。从这方面说ARM应该算是软件了。 在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS工程师”是软件,MOTO里接近的是嵌入式LINUX工程师是软件。而其他很多公司把嵌入式产品开发归为硬件。所以,不要讨论这个,好好玩转自己的板子才是关键。实在不爽你就把自己叫“嵌入式开发工程师”三 要不要买开发板 买哪家 我的答案是“在你个人的学习方法”,但是如果看家是需要看这骗笔记的水平,个人推荐还是买现成的。1 买 买板子可以把注意力集中在软件开发上,软件开发(尤其是驱动)可以不必担心自己硬件上的问题,我就是以便调试一边写驱动和程序,每次写驱动前就要先确认硬件没问题。另外,买板子更省钱和时间,我自己做的板子,原理图PCB花了2周以上!制版又15天,回来以后焊接44B0 160个脚!那叫一个麻烦~~花了多少钱呢?2层板,制版费就300块!当然 我把接口都外引了,还做了个20X18的LCD背板,板子比较大。总体下来 元件+LCD屏+PCB=11XX块!够2410的了。 再有就是买的资料相对来说比较全,但是不要指望有技术支持!都是骗人的,卖你之后就不会理你。2 做 自己做可以更了解底层硬件,可以按照自己的要求加东西,比如我就加了GPS模块、 GPRS模块 、SD卡模块,扩了个IIC的35个键子的键盘、把LCD接口按照买的LCD改装了,可以用FPC线直接连接。做的很爽的。玩一把吗。 当然,你可以有策略的做,比如像我一样,把RAM和ROM,网络都保持和某现成的板子一样,这样他们的资料你就可以拿过来直接用,给自己留个退路。其他的如SD了 什么的自己做。都达到了~~就是费钱,费时间。 再有就是给做的朋友几点建议:尽量拿到现成的板子,尽量多搜集其他板子的全套资料,一定要拿到一张没问题的原理图。 网上流传的原理图多数是龚俊03年画的,再这里对龚俊表达一下我的敬意!!牛人!但是那个图有个小BUG,我指的是03版的,后来的没这问题了。8019那地址线和地址有问题。还有人仿照他的PDF图画的SCH,更是漏洞百出!谴责!顺便谴责把龚俊板子偷卖的人。3 买哪家 个人感觉分3类吧 1)首先是ZLG的,资料非常的全,感觉他是真正想教你怎么开发ARM,而不是像有的公司自己技术都没做好就做个板子出来卖钱。但是最大的不利就是价格太贵!而且主要是PHILIP的,货源比较麻烦~~可能有人说21XX系列的不贵啊,那是总线不外扩的,只能跑UCOS,不能跑UCLINUX。但是说是话,21XX系列才是ARM7的价格性能结合点。ARM7最适合做工业控制,ARM普及,销量都是怎么来的?都是ARM7来的,而44B0是典型的商业片子。但是,这里如果你看中的是为工作做准备,还是选能跑UCLINUX的吧。但是仍然作为第一个推荐,因为菜鸟时期,合适的资料太重要了!!在这里被ZLG的务实精神感动!你看人家那代码写的。 2)感觉立宇泰的44B0不错硬件没别的,就是资料比较全的说,不像有些家,原理图直接拿人家的,还错的~~ 3)找个最便宜的好象最便宜的有卖350的吧?也是没别的,就是即省了钱 还省时间搜集资料,至于资料全不全,别计较了~~硬件肯定好使就行吧。四 要不要有51 AVR等单片机基础 有更好,但没有也无所谓。 两个月以前,我只是看别人做,耳濡目染~~,本科学过单片机,从来没做过。我们这的技术主干做AVR和51,我就跟他们调过C语言程序。你看出来了?我是个不折不扣的菜鸟吧?但是做这个之前我特意找了ZLG的两本书,看了里面的例子和原理图,这很重要。例程里有汇编有C,都看懂了就OK,不用自己现写五 开发都需要学习哪些软件总结起来最主要的有以下几个吧1 ADS调试用确切的说是ADS+AXD。ADS里包含AXD。原来都用SDT后来ARM公司停止对SDT支持了,改支持ADS了,还是用ADS吧。有的人的程序发布的仍然是SDT版本的,但基本都可以找到相应ADS的,新人在这里不要发蒙。ADS是编译器,AXD是调试器。便宜成AXF以后再在ARM的RAM里调试。2 PLASHPGMFLASH烧写的软件。AXD在RAM里调试,掉电就没有了,方便程序修改。调试好的程序再下到FLASH里,上电直接运行。同类的软件还有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人还问FLASH不支持BIN格式文件的问题就要看我写的PLASHPGM使用了。3 BANYANT调试代理(不知道名对不,起这么个难记的,我一般都叫它“半羊”因为知道它那几天刚吃了烤羊)调试代理就是用它帮你使用更简单的JTAG(便宜啊)来实现原本1K才卖的JTAG仿真器的大部分功能。JTAG调试原理看我另一篇笔记。简单的就可以把他理解为你自己做的JTAG的驱动就行了。调试代理还有很多种,什么H-JTAG了、ARM7了(不知道具体叫什么,就记得可执行文件叫ARM7.EXE)都是,BANYANT比较好。需要注意的是,没种调试代理安装方法虽然都简单 但都不一样,需要看说明。而且AXD调试之前都要运行。省钱了,就别怕麻烦了。4 ARM-ELF-TOOLS工具链里面是UCLINUX开发用的工具比如ARM-ELF-GCC只类的。工具链就是把很多工具打包在一起发布的方便你开发的东西。具体安装方法看我另一篇笔记。另外如果你开发LINUX就要用ARM-LINUX-TOOLS,不一样,不通用。5 U-BOOT大名鼎鼎的BOOTLOADER生成工具,同类的好象还有VIVI(名字很暧昧~~)生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载 烧写其他了有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像电脑上的BIOS。当然UCOS的不用这个,用什么我不知道:)最新版本是1.1.4 具体使用方法看我另一篇笔记吧。6 UCLINUX包UCLINUX的源码包,不用多说了吧?建议大家用现成的先体会一下,然后再自己编译,裁剪。因为单独UCLINUX的编辑技术上比较简单,但涉及的方面还是比较广的。7 VMWARE老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX(PC上用的),省得你来回开关机了。记得装VMWARE-TOOLS,安装方法在我另一篇笔记里。六 有哪些书推荐 主要推荐ZLG的三本书,有这3本再加网络就不用别的书了,其中主要推荐前2本,3是介绍体系结构的,也不错1 ARM嵌入式LINUX系统构建与驱动开发,北航版驱动写的很详细,前期开发介绍也很好2 ARM 嵌入式系统实验教程(二),北航版有ZLG2200的原理图,实验程序和注释,了解人家是怎么开发的。3 ARM嵌入式系统基础教程最重要的是体系结构,汇编部分介绍,看看吧,增加理论素质。4 44B0数据手册写在这里是强调它的重要。不推荐ZLG早期出的红色皮的ARM什么体系结构~只类的写的太多,看烦了。其他的书没了几本,没看见好的,大家有看过的推荐吧。七 选UCOS?UCLINUX?LINUX?VXWORKS?还是当单片机用 1 搞开发,工程设计,用UCOS,小巧,多进程,简单,体现了ARM7的精髓。 2 LINUX 正根的嵌入式系统,LINUX消费与通信领域用的比较多,但缺点是必须ARM9才能跑,ARM9的板子自己做就不行了,6层板太贵。买开发板1K达底吧。但是还是推荐选ARM9+LINUX 3 UCLINUX 算投机嵌入式系统:)ARM7上可以跑,由有LINUX近亲,学好好可以比较方便的转向LINUX,像我一样的穷鬼用吧,呵呵 4 VXWORKS学好后可以找到高薪工作,但工作机会本身并不比LINUX好找。 5 当单片机用不推荐,虽然我景仰的ZLG一直号召这么干。因为对于学习来说多进程的系统设计才是ARM7的玩头,至少你也要整个UCOS啊:)有朋友问我先学这个当基础不行吗?那当然可以~~但我当时就用了1周搞定,就是我先的ADS在RAM中调试的笔记。后来我清空FLASH用的小段程序还是当时写的LED闪烁程序呢。另外1周里其中还因为自己过于菜,没把OM设置好导致晶阵不阵哈哈。这个是必须做的,但一带而过。目标放的远一点。八 学习要用多长时间 我从菜鸟到现在两个多月,中间被打扰数次。仍然搞定了PCB设计与制版,RAM调试,FLASH下载,UBOOT移植和下载UCLINUX(没剪裁,用现成的),LCD驱动。再次坦诚的说:我确实比较菜,说这些不是让大家羡慕,只是告诉你们“你们应该比这个更好”我相信良好的态度+合适的方法+及时的总结=成绩九 ARM都玩什么就几点1 硬件设计2 系统移植3 驱动开发4 应用开发没了。其中推荐把注意力放在后两个上,3有难度,4比较灵活,最重要的是都是找工作的砝码。十 我用的什么板子很多人问我这个问题,我特意写过一个的。再说一次吧。我是自己做的,RAM、ROM、8019等比较麻烦而当时的自己不理解的都按照龚俊的做的。保持其他不便的情况下做了如下改动。1 加了串口通信的GPS模块、 GPRS模块一个UART0,一个UART1,当与要用超级终端时用跳线切换。2 SD卡,和7843触摸屏同时挂在SPI总线上,因为SPI只能挂一个设备,同时还做了I/O模拟的准备,把两个设备又通过跳线挂在4个IO上。3 扩了个IIC的35个键子的键盘用的ZLG的7290,不占用CPU,最大支持64个键子,只上了35个,其他留接口。4 把LCD接口按照买的LCD改装了,可以用FPC线直接连接。所以改动虽然多,但真正很移植了,初期调试有关的并没动,就是为了现在不那么菜的时候做准备:)十一 开发流程这里是我的开发流程1 设计原理图(含WIGGLER的JTAG访真器)2 设计PCB(含WIGGLER的JTAG访真器)3 制版4 焊接电压,确定电压没问题5 焊接44B0+JTAG电路+WIGGLER的JTAG访真器+周边电路,用BANYANT+仿真器连接,BANYANT提示错误,但可以显示44B0编号,好象是0X0F0F0F0F只类的,说明44B0没问题6 焊接晶体+RAM+ROM+周边电路,用BANYANT+仿真器连接,可以显示正确的44B0了7 用BANYANT+仿真器连接,开AXD,在命令行窗口操作RAM,看可不可以修改,可以的话(用内存窗口看RAM地址)RAM就没问题可以用这个命令“setmem 0xc000000,0xffffffff,32”我的RAM挂在BANK6上 所以地址是0XC000000,你要是改了就也得改。8 用我写的《自己写了个C工程模板又写了个使用说明 》里的方法调试程序吧,写个简单的,我当时写个LED闪烁的。看好使不。9 把程序按照《FLASH烧写总结 》里的烧到FLASH里,测试一下10 按照《UBOOT 移植操作》移植UBOOT11 按照《UCLINUX下载简单说明》下个UCLINUX12 看看驱动开发的方法,自己写个驱动看看13 还有很多事东西着你玩 呵呵十二 关于JTAG访真器JTAG访真器现在用的多是简板的,一个244那种,用的没什么不好。按照并口定义不同分几种,建议选WIFFLER定义的,因为支持的软件多。这个网上多的是,不多说了。值得提的是有的JTAG访真器原理图上有跳线用来使能复位信号,这个一般不跳上。就是不用复位信号,因为JTAG协议里本身也可以控制44B0复位。当然,板子上的复位信号跳线也不用跳。十三 哪个公司的ARM这个是问题比较简单。1 ARM7主要就几个公司的三星,PHILIP,ATMEL的ATMEL的有比较便宜的AT91SAM7S32 和AT91SAM7S64 专为8位应用产品量身定做,价格很便宜好象《3刀吧。和PHILIP的21XX差不多,资料太少,项目中选还不错。其他两家上面说了的不多说了吧2 ARM9这个玩2410和2440的多吧,现在2440还比较火啊 可以考虑买个了但是2410就比较便宜了,作为学习来说反到和不错,推荐整一个:)其实ARM9用的最多的领域应该是消费电子,比如手机PDA,而这上面用的多的应该是INTEL的和TI的吧。但是INTEL的TI的入门材料少,价格高,自己看情况定吧。
谁有天祥电子最新高级板ARM7/44B0强档嵌入式视频教程或者其下载地址啊
在我们的电子开发论坛里有,不需要注册就可以下载的哦http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3499198&bbs_page_no=1&bbs_id=1032
下载fpga程序到altera fpag上,dsp上的uclinux就会死机,怎么办
1、电脑中毒或中恶意软件,也可能引起电脑异常,解决办法:升级杀毒软件,杀毒,实在不行,就重装或恢复过系统。2 、配置不合理,不协调,bios设置错误,也会引起电脑异常,所以装机或升级硬件要找更专业的人员解决。3 、电脑运行中温度过高也会引起电脑异常,建议用鲁大师软件,测下各项硬件温度,再解决。4 、由于电压不稳点,电源功率不够,也会经常引起电脑异常,如果是这些原因引起的就配置一个稳压器,换大功率电源就能解决。5 、由于运行大软件、大程序而导致的,如 玩大游戏、用大型软件等,那就应该是电脑硬件配置差的原因引起的。解决办法就只有升级电脑配置、优化电脑系统。6 、旧电脑由于机箱里面灰尘太多,引起短路也容易引起电脑异常。要经常清理下机箱里面的灰尘。7、旧电脑由于使用时间长了,主板电路电容老化,也会引起电脑异常问题。只有送修或更换了。8、 旧电脑硬盘用久了也会出故障引起电脑死机重启,这就需要用硬盘测试软件测试下硬盘,重新分区安装系统可以修复硬盘逻辑坏道,修复不了,也只有换硬盘了。
如何在嵌入式LINUX中增加自己的设备驱动程序
Linux驱动程序的使用可以按照两种方式编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于uClinux不支持模块动态加载,而且嵌入式LINUX不能够象桌面LINUX那样灵活的使用insmod/rmmod加载卸载设备驱动程序,因而这里只介绍将设备驱动程序静态编译进uClinux内核的方法。下面以UCLINUX为例,介绍在一个以模块方式出现的驱动程序test.c基础之上,将其编译进内核的一系列步骤:(1)改动test.c源带代码第一步,将原来的:#include#includecharkernel_version=UTS_RELEASE;改动为:#ifdefMODULE#include#includecharkernel_version=UTS_RELEASE;#else#defineMOD_INC_USE_COUNT#defineMOD_DEC_USE_COUNT#endif第二步,新建函数intinit_test(void)将设备注册写在此处:result=register_chrdev(254,“test“,&test_fops);(2)将test.c复制到/uclinux/linux/drivers/char目录下,并且在/uclinux/linux/drivers/char目录下mem.c中,intchr_dev_init()函数中增加如下代码:#ifdefCONFIG_TESTDRIVEinit_test();#endif(3)在/uclinux/linux/drivers/char目录下Makefile中增加如下代码:ifeq($(CONFIG_TESTDRIVE),y)L_OBJS+=test.oEndif(4)在/uclinux/linux/arch/m68knommu目录下config.in中字符设备段里增加如下代码:bool’supportfortestdrive’CONFIG_TESTDRIVEy(5)运行makemenuconfig(在menuconfig的字符设备选项里你可以看见我们刚刚添加的’supportfortestdrive’选项,并且已经被选中);makedep;makelinux;makelinux.text;makelinux.data;catlinux.textlinux.data》linux.bin。(6)在/uclinux/romdisk/romdisk/dev/目录下创建设备:mknodtestc2540并且在/uclinux/appsrc/下运行make,生成新的Romdisk.s19文件。到这里,在UCLINUX中增加设备驱动程序的工作可以说是完成了,只要将新的linux.bin与Romdisk
怎样下载 安装 ucLinux
弱弱问一下你是装在什么硬件上....?UCLINUX是微控领域的嵌入式系统.要熟识你的硬件结构再编译后烧写到硬件上,两句话是说不出来.
如果使用JTAG口向开发板下载程序而不使用其调试功能,那么怎么制作下载器,用那些器件或芯片
总结起来最重要的有以下软件吧: 1 ADS调试准确ADS + AXD。 ADS包含AXD。原公司停止其随后所有的ARM SDT支持,改支持ADS,或使用它ADS SDT。 程序发布了一些人仍然SDT版本,但基本对应的ADS可以发现,新人不要发蒙这里。 ADS是一个编译器,AXD是调试器。便宜成AXF以后调试ARM-RAM里面。 2 PLASHPGM免费在线编程软件。 AXD调试RAM中,掉电,没有方便的程序。调试好的程序再下到FLASH,电源直接运行。有很多同类软件,有什么凹槽时,所有的FLSHP,但FLASHPGM最好的,如果有人问FLASH BIN文件格式不支持的问题上,我们必须认为我写的PLASHPGM使用。 3 BANYANT调试代理(不知道名字不这样做,因为这样的难记,我通常把它称为“半羊”,因为我们知道,这只是几天吃羊肉)调试代理就是用它帮你使用更简单的JTAG(便宜啊)销售前实行最原始的JTAG仿真器1K的功能。 JTAG调试原理看我的其他注意事项。简单的可以理解他在做JTAG自己开车就行了。 调试代理有很多种,什么H-JTAG了,ARM7了(不知道具体是什么名字,你还记得叫ARM7.EXE可执行文件)是,BANYANT更好。 需要特别注意的是,没有任何种类的调试代理安装方法很简单,但不一样的,虽然,需要看说明书。而每一次运行AXD调试之前。省钱,不打扰了。 4 ARM-ELF-TOOLS工具链这是用来UCLINUX开发工具,ARM-ELF-GCC只类。工具链是放出大量的打包在一起的工具,允许你开发的东西。具体的安装方法见我另外一个音符。 另外,如果你开发Linux将使用ARM-LINUX-TOOLS,不一样的,不具有普遍性。 5 U-BOOT 著名的BOOTLOADER生成工具,一样的,如果有VIVI(名称不明确~~)生成的FLASH BOOTLOADER烧伤,然后就可以使用其他编程BOOTLOADER下载使用UCLINUX BR》引导到下一个。 BOOTLOADER就像电脑上的BIOS。当然,UCOS做到这一点,我不知道:) 最新版本是1.1.4具体使用另外一个看我的笔记了。 6 UCLINUX包UCLINUX 源码包,不用说了吧?建议你使用现成的前味,然后自己编译,裁剪。因为单独UCLINUX的编辑技术上比较简单,但其中涉及的方面很广。虚拟机软件的虚拟机上 7 VMWARE 老将了一台机器装LINUX(使用PC)中,为您节省来回切换。记住安装vmware工具,在我的笔记另一种安装方法也去网上收集销售模块的开发板吧。!