Ⅰ 如何处理tornado搴蚢ngular.js的 表达式冲突问题
帮助文档 在docs目录下存放各种帮助手册,主要是Tornado和VxWorks相关的,也有特殊组件相关的,如TrueFFS,WindView。帮助文档有html格式或pdf格式,建议使用html格式,方便交叉关联。 如果使用html格式的手册,book.html为手册总入口,进入能看见各种手册列表,选择就能进入相关手册。Docs根目录下还包含其他几个入口文件,如下表: book.html 手册总入口 Tornado_Reference.html 分项描述各主机工具,如WindSh,elfToBin等 Tornado_API_Reference.html 描述Tornado API,一般用户不用,按结构层次分类 l ibIndex.html 描述Tornado API,按库名分类,类似VxWorks的库参考 BSP_Reference.html 一般与自己硬板不符,可以看看sysLib VxWorks_Reference_Manual.html VxWorks 库手册,以库名排序描述,开发者经常参考 rtnIndex.html VxWorks 库手册,以函数名排序描述,开发者经常参考 在开发中遇到问题需要帮助时,应选择合适的文件入口进入,可以加快资料查询速度。比如我们想查一个已知名称函数的原型参数或归属库,可以选择rtnIndex.html进入,可以直接找到该函数,具体帮助文档在相应的库描述中。 WindRiver的帮助文档很多,且归类不是太清晰,有些文档是直接从源代码中提取的。所以阅读帮助时需要讲究一定的顺序和方法。对 于初学者可以先看 “Tornado 2.0 Getting Started Guide”,该手册在有些版本中没有,可以到网上找找。通过该手册,用户可以建立对Tornado开发环境的基本印象,熟悉基本工具的操作等。 该手册用VxSim进行例程讲解,不需要具体的硬件目标板,这对初学者也很方便。 接下来用户可以看看WindRiver的培训资料,Workshop系列,包括4部分。以PowerPoint讲稿形式,内容比较简洁,快速阅读后可以建立对Tornado和VxWorks更深层次理解。 如果你觉得对VxWorks这个RTOS的概念还比较模糊,或没有嵌入式系统开发的从业经验,可以阅读VxWorks编程指南,它对VxWorks基本概念作了全面的描述。若该手册和VxWorks的最新版本有不符的地方,应该以VxWorks的库参考手册为准。 如果你不知道如何Tornado的功能,或在使用中遇到问题,可以参考Tornado用户指南,它对Tornado的直接用户使用有很大的帮助。 当你阅读完上面的各手册后,基本概念已经建立,可以进行实际系统开发。在实际开发过程中,用户最常用的手册为VxWorks库参考手册,不用仔细通读该手 册,只在平时遇问题时查询用。VxWorks库参考手册中文档直接由代码中提取,与VxWorks实际库情况最为吻合。 当然你在开发中会遇到自己专用组件的使用,如TureFFS、WindView、dosFs2.0、VxDCOM、VxFusion等,它们有专门的手册帮助你如何使用。 在开发过程中查询文档与初学时阅读文档不同,不追求全面的概貌,只需要局部的细节。这时我们要善于利用各手册的index部分,直接查询自己关心的关键词,可以快速找到需要的资料。这也是为什么我推荐使用html格式帮助的原因。 在你已能熟练使用Tornado和VxWorks后,若想再深层次求索细节,源代码文件将是你最好的文档。不但可以帮助明白工作机制细节,也学到一些编程技巧和规范。 除了WindRiver提供的正式文档,还有很多参考资源。如WindSurf,邮件组,论坛,中文书籍等。具体索引可以参考本书后附录。
Ⅱ 嵌入式软件应用方向与计算机应用软件方向
硬件很重要 但现在趋向软了 趋势也是靠软 以下是一点点经验 也许可以参考。。。GOOD LUCK~~~~!!!!
一 首先说说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 PLASHPGM
FLASH烧写的软件。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 移植操作》移植UBOOT
11 按照《UCLINUX下载简单说明》下个UCLINUX
12 看看驱动开发的方法,自己写个驱动看看
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的入门材料少,价格高,自己看情况定吧。
Ⅲ vxworks 平台开发液晶显示要看些什么书
首先,去看一下WindML多媒体库自带的pdf文档,应该是在setup目录下面有,看懂了之后就知道调用ugl()函数怎么画直线、圆形、矩形等等。
看明白之后有3条路可以走:
(1)用风河自己的Zinc图形库来做,看Zinc自带的文档,你说的菜单、按钮等等都有;
(2)移植MiniGUI图形库到VxWorks操作系统,菜单、按钮也就都有了;
(3)自己用C++编写一套图形库。
其实真的不建议用VxWorks,杀鸡用牛刀,且版权费用很高。
Ⅳ 火星探测车的火星探测车内部
探测车的车身是一个叫做电子恒温箱(WEB)的封闭箱体。这个箱子的作用非常关键,因为火星表面温度在夜间会降低到零下100摄氏度。如果不采取任何保暖措施使温度维持在零度以上,则电池和很多电子原件都会停止工作。 WEB箱是一种隔热箱,内含:
探测车的计算机中枢
锂电池
无线电及其放大装置
控制各种分光计等仪器的电子设备
基本上,所有无法抵御零下100度低温的器件都被置于恒温箱中。
恒温箱通过三种不同机制实现保温:
工作状态下的各电子模块本身可以产生热量。以计算机为例,它的功率为7瓦,所以产生的热量与一盏7瓦电灯泡相当。
计算机可以打开多个功率为1瓦的小型电阻加热器来提升温度。
八个放射球(二氧化钚)中的钚原子发生衰变时能产生热量。这些球非常小——只有豌豆大小。小球被防辐射合金包裹着,装在碳纤维盒子中。一旦运载火箭Delta中途炸毁,或者飞船重新返回了大气层,这些盒子能够保证小球不发生核泄漏。车载计算机
探测车使用的是一台BAE systems公司生产的RAD6000型计算机。其处理器与早期Macintosh计算机使用的老式PowerPC处理器在结构上几乎是完全相同的。从今天的标准来看,这种处理器的速度很慢,只有20兆赫,大约是今天普通台式计算机速度的百分之一。它有128KB的RAM内存,256KB的闪存,以及用于存储启动代码和操作系统的ROM。该机没有磁盘驱动器。
虽然这种计算机速度很慢而且非常昂贵(每台20到30万美元),但是它们有两大优点:
耐辐射,能够抵御火星上的太空辐射。
采用Wind River Systems公司的VxWorks(PDF)实时操作系统,这是一个非常可靠的系统。
这种计算机使探测车的可靠性远远高于普通的台式计算机。这样做的原因是要保证探测车不会出现任何数据丢失或错误的现象。
计算机帮助探测车进行能源管理、图像处理、发动机控制和仪器设备管理。另外还负责导航任务。探测车有3对共6台导航摄像机,每组摄像机得到的立体图像都要交由计算机处理。利用双目视觉算法,计算机能够辨认出视野中不同岩石的大小以及距离。利用这些信息,计算机可以绘制出包含附近所有障碍物的地图,并操纵探测车在移动时避开障碍物。
能源
探测车上装有1.3平方米的高效率太阳能电池板来提供电能。探测车首次展开时,电池板很干净。由于季节的原因,正午时分的太阳辐射非常强烈——以火星上的标准来说。电池板的高峰发电功率大约是140瓦特,也就是每天发电约0.9千瓦时(用这些电能可以维持一盏100瓦的照明灯泡工作9个小时)。换言之,每个火星日当中只有6个小时的太阳光的强度足够支持太阳能电池板工作。
太阳能电池板将产生的电能提供给耗电器件(计算机、发动机、岩石打磨工具以及无线电装置等等)。剩余的电能被储存进两块28伏、10安培小时的锂电池中。
Ⅳ 如何创建python开发环境
搭建Python语言IDE开发环境方法:
1、下载并安装Python For Windows。打开Python官方网站(python.org),推荐下载Python 2.7.X版本。
2、安装Python:一路默认设置Next下去,直到Finish,完成Python安装3、推荐使用PyCharm: PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。
4、下载PyCharm集成开发软件,官网提供了两种版本:Professional Edition(专业版可以试用30天,学习Python30天也够用了。,Community Edition(社区版,功能少一点但也够用了)。
5、安装PyCharm集成开发软件:一路默认设置Next下去,直到Finish,完成PyCharm的安装。
6、配置PyCharm一:风格(配色方案)的调整::【File】→【Settings】→【 Editor】→【Colors & Fonts】→Scheme选择Dracula注意事项:每天第一次启动有点慢,第二次就快了。主题Scheme选择以后,需要重启软件才能生效高分辨率下,Pycharm的字体显得很小,可以在Colors & Fonts选项里设置。但先要复制一个Scheme才能更改字体大小
Ⅵ 想把epec里的程序复制出来,用coDesys程序怎么写大神
1、CoDeSys IDE。
即CoDeSys集成开发环境,符合IEC61131编程规范,安装于PC机上,运行于Windows或者Linux下。由最终应用用户所使用的开发工具。
2、CoDeSys Runtime。
即硬件平台系统。需要设备制造商与3S公司共同完成,3S公司需要评估硬件开发商所设计的硬件系统,并为其定制CoDeSys Runtime框架,客户需要为此向3S付费。然后硬件及系统开发商需要根据本系统的外围输入输入等配置,编写相应的驱动,并以库或者PLC Configure接口的形式提供给CoDeSys ID开发环境调用。实际上就是形成一套Target安装包。此外,CodeSys还会对每个使用其CoDeSys Runtime的设备贴标,设备供应商需要为每个3S标牌付费,作为其知识产权的一部分。
3、最终用户(应用开发商)可以下载通用的CoDeSys IDE。
里面提供基本的IEC61131编程环境,但是对于一个具体的硬件PLC或者HMI,需要安装与该硬件相对应的Targets包。这个 Targets包的入口文件是*.tnf文件,有其来指定:
1、targets(*.tar)文件,对应 CoDeSys IDE的Target Setting项.
2、PlcConf文件夹下的*.cfg文件,对应CoDeSys IDE的PLC Configuration项。其安装路径由InstallTarget组件程序的Installation选项指定。反映在CoDeSys IDE上就是: files: "***PlcConf"。
3、Lib文件夹下的诸*.lib文件,提供底层的CoDeSys Runtime的驱动接口。对应CoDeSys IDE的Library Manager。其安装路径由InstallTarget组件程序的Installation选项指定。反映在CoDeSys IDE上就是:: "***Libs"。
6.好用的case语句
CASE INT1 OF
1, 5:
BOOL1 := TRUE;
BOOL3 := FALSE;
2:
BOOL2 := FALSE;
BOOL3 := TRUE;
10..20:
BOOL1 := TRUE;
BOOL3:= TRUE;
ELSE
BOOL1 := NOT BOOL1;
BOOL2 := BOOL1 OR BOOL2;
END_CASE;
case语句是我比较喜欢的功能,可以实现手动自动,可以实现多工位。
K5 PLC没有日系的STL,也没有西门子的SCR指令,可以通过其他方式实现类case方法,大家也可以思考下。
更多CoDeSys的使用细节可参考CoDeSys说明书“CoDeSys_V23_E.pdf”
Ⅶ 新手想学嵌入式以及LINUX请教.
C语言是嵌入式技术的基础,你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!
嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等
Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
LZ可以到华清远见的网站上了解一下,上面有很多嵌入式方面的详细信息,另外,各大书店和图书馆都有华清远见出版的畅销嵌入式专业书籍,希望对你有帮助。
Ⅷ 想学习 嵌入式ARM开发 请各位高手推荐个学习步骤!
1、抓住51开发ARM
这几个月来我一直都爬在51的问题,自己都有一点笑自己了,用了4个月的时间,来巩固51的原理和程序,还好我自己算是走过来了,自己笨,身边的高才生又看不上51的原理,他们都比较“牛”,说51过时了,你问那个做什么???我比较郁闷!过时吗?我有一点怀疑?
他们不愿意说有他们自己的理由,没有人强求,靠自己好了。
我自己个人的观点:51是一个基础,而且还很重要,这是再我看了ARM之后感觉到的。它可以加速你的ARM学习速度,真得!不相信你试一试好了。
凡是要求一个速度、效率,不要做一些无用功,抓紧身边的每一个一分钟,人是活的,东西(知识、书)是死得,想要做的事情因此就简单了。
2、我在网上看到了一篇很不错的ARM文章,粘贴过来,为了和像我一样在很少有人帮助的情况下,自学ARM 的难兄难弟们。
“ARM 怎么入门”。我不是高手,仍然是菜鸟。
但是回想起自己当时的迷茫,特意写了这篇东西,当作给和我一样的兄弟姐妹的帮助吧。问这个问题的人多半不是已经工作的工程师,而是和我一样是学生,所以这篇笔记就把看家当成我一样的菜鸟,高手勿怪。
首先声明:本人还没有找工作,事实上处于研究生刚毕业,还没开始找工作的空闲时间,44B0只是兴趣所在,打发时间。
所有看法完全是自己的感受,不代表任何他人。错了的观点各位帮我纠正。再次补充:很多朋友看了上面的话就问我为什么研究生毕业了还不找工作:)说是打发时间,其实是因为研究生的时候带了一个项目,申请提前毕业以后项目还有块尾巴,答应导师把项目做完再走:)就这么简单。男人总点负点责,呵呵
以下问题常被问到,我就想到哪说到哪吧。
一 首先说说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 PLASHPGM
FLASH烧写的软件。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 移植操作》移植UBOOT
11 按照《UCLINUX下载简单说明》下个UCLINUX
12 看看驱动开发的方法,自己写个驱动看看
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的入门材料少,价格高,自己看情况定吧
Ⅸ vmware虚拟vxworks
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
VmWare+VxWorks高阶教程.pdf
windml3_0-cp3\WIND_MEDIA_LIBRARY_3_0_3\CD_STATUS
.............\........................\DISK_ID
.............\........................\INSTALLPATCH
.............\........................\INSTALLPATCH.BAT
.............\........................\LICENSE.TXT
.............\........................\README.TXT
.............\........................\..SOURCE\BITMAPS\SETUP.BMP
.............\........................\........\TCL\APPCONFG.TCL
.............\........................\........\...\AUTORUN.TCL
.............\........................\........\...\CHOICE.TCL
.............\........................\........\...\COMPSLCT.TCL
.............\........................\........\...\COMPTBLE.TCL
.............\........................\........\...\CONFIG.TCL
.............\........................\........\...\DBQUERY.TCL
.............\........................\........\...\DESTDIR.TCL
.............\........................\........\...\EMFINISH.TCL
.............\........................\........\...\EMPTY.TCL
.............\........................\........\...\FILECOPY.TCL
.............\........................\........\...\FINISH.TCL
.............\........................\........\...\FLEXCOPY.TCL
.............\........................\........\...\FOLDER.TCL
.............\........................\........\...\GETPIN.TCL
.............\........................\........\...\GLOBAL.TCL
.............\........................\........\...\HELPW32.TCL
.............\........................\........\...\HTTP.TCL
.............\........................\........\...\ICONFIN.TCL
.............\........................\........\...\INCLUDE.TCL
.............\........................\........\...\INF.TCL
.............\........................\........\...\INIT.TCL
.............\........................\........\...\INSTALL.TCL
.............\........................\........\...\INSTPTCH.TCL
.............\........................\........\...\INSTW32.TCL
.............\........................\........\...\LIBUPDTE.TCL
.............\........................\........\...\LICAGREE.TCL
.............\........................\........\...\LICCFG.TCL
.............\........................\........\...\LICEMAIL.TCL
.............\........................\........\...\LICINFO.TCL
.............\........................\........\...\LICMANUAL.TCL
.............\........................\........\...\LICPHONE.TCL
.............\........................\........\...\LICPORT.TCL
.............\........................\........\...\LMAUMAN.TCL
.............\........................\........\...\LMCHOICE.TCL
.............\........................\........\...\LMCONFIG.TCL
.............\........................\........\...\LMERROR.TCL
.............\........................\........\...\LMEXIT.TCL
.............\........................\........\...\LMFINISH.TCL
.............\........................\........\...\LMINFO.TCL
.............\........................\........\...\LMINST.TCL
.............\........................\........\...\LMOPTION.TCL
.............\........................\........\...\LMREGIST.TCL
.............\........................\........\...\LMSTARTUP.TCL
.............\........................\........\...\LMUTIL.TCL
.............\........................\........\...\MESSAGES.TCL
.............\........................\........\...\PERMISSN.TCL
.............\........................\........\...\PROJINFO.TCL
.............\........................\........\...\PRVLEGE.TCL
.............\........................\........\...\README.TCL
.............\........................\........\...\REGDLL.TCL
.............\........................\........\...\REGHOST.TCL
.............\........................\........\...\REGISTER.TCL
.............\........................\........\...\REGISTRY.TCL
.............\........................\........\...\SMTP.TCL
.............\........................\........\...\STOPSERVICE.TCL
.............\........................\........\...\SUMMARY.TCL
.............\........................\........\...\SYSCONFG.TCL
.............\........................\........\...\UNINST.TCL
.............\........................\........\...\UTILW32.TCL
.............\........................\........\...\VERSION.TCL
.............\........................\........\...\WELCOME.TCL
.............\........................\SUN4\SOLARIS2\SETUP
.............\........................\WIND\WIND.000
.............\........................\....\WIND.001
.............\........................\X86\WIN32\TCL.DLL
.............\........................\...\.....\TCLSH.EXE
AMD ln97xEnd补丁\target\config\pc486.972\config.h
................\......\......\.........\configNet.h
................\......\......\.........\sysEnd.c
................\......\......\.........\sysLib.c
................\......\h\drv\end\ln97xEnd.h
................\......\man\cat1\ln97xEnd.1
................\......\...\...2\ln97xEndLoad.2
................\......\...\....\ln97xInitParse.2
................\......\...\man1\ln7990End.1
................\......\...\...2\ln97xEndLoad.2
................\......\...\....\ln97xInitParse.2
................\......\src\drv\end\ln97xEnd.c
................\......\...\...\...\Makefile
................\......\h\drv\end
................\......\src\drv\end
windml3_0-cp3\WIND_MEDIA_LIBRARY_3_0_3\RESOURCE\BITMAPS
.............\........................\........\TCL
.............\........................\SUN4\SOLARIS2
.............\........................\X86\WIN32
AMD ln97xEnd补丁\target\config\pc486.972
................\......\h\drv
................\......\man\cat1
................\......\...\cat2
................\......\...\man1
................\......\...\man2
Ⅹ labview 主要用来干吗的啊
石鑫华视觉网-软件工程方法在LabVIEW中的应用.pdf,免费下载
链接:https://pan..com/s/1Vwck1GcdbjuI8zEhGly77g
本书介绍的技术非常易于理解。如果学会,那么我们认为每个人都能够成功运用其中之一二。我们的目的是通过易于理解和可应用的方式向大家介绍和解释使用LabVIEW进行软件设计的概念。许多技术和方法学都拘泥于计算机科学理论,从而忘记了设计的初衷,我们却一直关注设计并希望能够说明某些计算机科学理论。