StkShop 首?-***R,PIC,ARM,DSP,FPGA,51,MSP430,STM32,?片?,??板,仿真器,?程器
StkShop 首?-***R,PIC,ARM,DSP,FPGA,51,MSP430,STM32,?片?,??板,仿真器,?程器
??:327572
?格:670.00¥
?格:560.00¥
?格:398.00¥
?格:498.00¥
&&|&&&&|&&&&|&&
ARM11 S3C 三星??板,Tiny...
S3C ARM??板 ARM11 Min...
ATmega1280??板 ***R??箱 ...
三星 ARM11 S3C6410 ??板 手...51、***R、PIC、MSP430、ARM、DSP这几种单片的优缺点各是什么?_百度知道C51,ARM,***R,PIC单片机?
我来谈谈我对你以下三个问题的看法吧:
1.如果毕业后我要从事单片机编程方面的工作,我应该学哪天方面?(C51,PCI,ARM,***R,PLC)?
C51是51单片机C语言程序设计的简称,如果说你对51单片机有一定的基础的话,学其它单片机会快得多,甚至一个星期至一个月内就能学会.
PCI不是单片机,是电脑上的一种总线,你可能记错了,市场上有一种单片机叫作PIC,PIC单片机种类很多,比其它一般单片机(如51的,***R的等等)都稳定一些,所以社会上要求稳定性高的可能多数用PIC单片机.
ARM是32位处理器,与普通的8位51单片机相比,其处理效率当然是高很多很多,一般的情况下,人们谈到ARM时经常把它和嵌入式操作系统联系在一起,因为利用ARM实现嵌入式是一个非常好的选择方案.如果想走电子设计高端,建议还是从一种普通的单片机设计过渡到ARM以及嵌入式.
PLC这个东西很稳定,但是同样的,它的价格往往很高,它的核心其实也可以说是一个51单片机,只是加了很多隔离器,应用过程中就不会有像单片机那样多的干扰,PLC一般是在强电设计方面用得多,比如工控行业.
***R是ATMEL公司的一个系列的产品,其性能价格比相当得高,如果对系统稳定性没有太大的要求,选择这一系列的单片机好,哈佛结构,RISC,处理功能强,效率高!
2.这些东西(C51,PCI,ARM,***R,PLC)一定要全弄懂吗????
不是说非得要全懂,如果说你会51单片机,能找到工作的,如果说你再会一个***R或PIC,选择工作的余地要更大,如果说你在学校能对ARM和嵌入式有一定了解和应用经验的话,你出来找工作是没问题的了!不过如果想走电子设计这一条路,建议还是要把模拟电路和数字电路一起好好地抓紧!这些东西对以后的设计都非常有用!而不是会这个会那个,如果在学校能对两种单片机有应用的经验的话,够了,用人单位可能看重的是你的学习能力,而不是你现在懂多少东西.在学校多参加一些电子设计大赛什么的,提高一下自己这方面能力.如果没有机会,建议还是要买电子元器件自己设计一个系统.
3.面对企业招聘,我要具备哪方面的知道才行?
大胆地说!别心虚.
表现出你想跟公司一起长期发展.
表现出你的自学能力强!
已投稿到:小弟51单片机刚刚入门,不知道以后该学什么单片机,是学avr,pic还是stm32,或者直接上手arm,求高手指导_百度知道ARM初学宝典
> ARM初学宝典
ARM初学宝典
一直都在听说有多么好,有多神奇,有多难学。故学它时都兴奋加恐惧。呵呵,我刚好用也有一段时间了。写点东西给的初学者,希望能起到帮助作用。1,记住:ARM很简单,就如从51转换到PIC或者转换到***R一样简单。ARM的一个功能就如同掌握一个其他IC的使用一样,如时钟芯片,存在芯片,等等,甚至更简单。所以ARM的那些功能就可以忽略了。2,和51系列相比,arm的寄存器不在存储空间之内,而且不分数据、程序空间。记住它的分配图.3,ARM有多种处理器模式,每个模式都有自己的独立&& 记住表格&& 记住寄存器的使用4,ARM的中断加强了,增加了软件中断,掌握swi&& 可以把处理器模式及异常看成都是中断的扩张,从这些方面去理解也许快些。&& swi是嵌入式系统中任务切换的一个关键指令。故先有个心里准备。用法:swi 立即数。执行该执行时,程序会跑到swi中断处。立即数包含在该指令代码中,如果要根据立即数执行程序必须找出立即数。 5,ARM的启动程序及引导地址&& 你编写的代码启动时:ARM都是从0x开始运行。&& 实际芯片运行时:ARM启动时,先根据硬件判断是否进入ISP还是经入程序运行。如进行程序运行,又会根据硬件判断会从0x内部 flash空间,还是外部flash空间0x处运行(此时芯片会自动改变映射,也就是将0x映射到 0x)&& 在ADS软件上:ADS软件会把ARM Linker-Layout-Place at beginning of image-Objiect/symbol中指明开始代码的文件。Section中指明代码开始的程序块。一般习惯Objiect/symbol中填写的时Startup.o。Section中填写Start。因为大家一般会将开始程序放在Startup文件中的Start段。&& ADS软件知道了我们程序的开始地方,还不知道这个程序的开始地方放到实际芯片的那个地址,所以我们还要为ADS软件指明开始地址,ARM Linker-Option-Image entry point中指明就行了。&& 这样我们自己编写的代码、实际芯片、仿真器程序起始的关系就差不多明白了,然后记住下面中断向量表的代码。6,地址重新映射&& 这是个新概念,但记住它的功能是存储器映射用于改变从0x开始的中断向量的映射。记住1:是0x开始的中断向量的映射;记住2:为什么要这样做是为了不管你这段程序放在芯片实际的那个可以开始放的地方,ARM内部都可以从0x开始运行。7,汇编语言与c语言的混合编程&& 如果你不会这个先最好了解一点概念&& 汇编与c的参数传递是靠R0,R1这些寄存器传递的。&& 函数的返回值也是靠R0。&& 汇编中的标号与函数名相当&& c语言函数结束时实际上是汇编子程序的返回指令,故用汇编语言中用BL调用c的函数。否则就会返回出错。8,汇编指令的记忆&& 多了几种寻址方式&& 先记住基本指令然后进行扩展,在记指令的执行条件,在搞懂特性符合的意义,如!,^等我先是记住了以下几个指令:B,BX,BL,LDR,STR,LDM,STM,MOV,MRS,MSR,DCD,SWI,ADD,AND,CMP,MUL这些指令后,以后就边用边记。 9,ARM初始化要干些什么&& ARM初始化灵活方式,很多功能都可以方便设置。故开始初始化的事情也是蛮的多,主要做那些呢&& 开始的中断向量表要做好吧。&& 每个处理器模式都有自己的SP,你要指明每个SP的开始地址,进行堆栈的初始化。&& 初始化外部总线控制&& 设置存储器加速模块&& 初始化时钟,初始化VIC等等,当然有很多你不必管,先拷贝&& 在网上找资料就行了。中断向量表与初始化堆栈一般如下;中断向量表Reset&&&&&&& LDR&&&& PC, ResetAddr&&&&&&& LDR&&&& PC, UndefinedAddr&&&&&&& LDR&&&& PC, SWI_Addr&&&&&&& LDR&&&& PC, PrefetchAddr&&&&&&& LDR&&&& PC, DataAbortAddr&&&&&&& DCD&&&& 0xb9205f80&&&&&&&&&& ;ARM保留位,使向量表所有数据32位累加和为0,才能脱机运行。&&&&&&& LDR&&&& PC, [PC, #-0xff0]&&& ;&&&&&&& LDR&&&& PC, FIQ_Addr
ResetAddr&&&&&&&&&& DCD&&&& ResetInitUndefinedAddr&&&&&& DCD&&&& UndefinedSWI_Addr&&&&&&&&&&& DCD&&&& SoftwareInterruptPrefetchAddr&&&&&&& DCD&&&& PrefetchAbortDataAbortAddr&&&&&& DCD&&&& DataAbortNouse&&&&&&&&&&&&&& DCD&&&& 0& ;IRQ_Addr&&&&&&&&&&& DCD&&&& 0& ;FIQ_Addr&&&&&&&&&&& DCD&&&& FIQ_Handler
;未定义指令Undefined&&&&&&& B&&&&&& Undefined
;软中断SoftwareInterrupt&&&&&&& B&&&&&& SoftwareInterrupt
;取指令中止PrefetchAbort&&&&&&& B&&&&&& PrefetchAbort
;取数据中止DataAbort&&&&&&& B&&&&&& DataAbort
;快速中断FIQ_Handler&&&&&&& STMFD&& SP!, {R0-R3, LR}&&&&&&& BL&&&&& FIQ_Exception&&&&&&& LDMFD&& SP!, {R0-R3, LR}&&&&&&& SUBS&&& PC,& LR,& #4
;初始化堆栈
InitStack&&& &&&&&&& MOV&&&& R0, LR
;设置管理模式堆栈&&&&&&& MSR&&&& CPSR_c, #0xd3&&&&&&& LDR&&&& SP, StackSvc;设置中断模式堆栈&&&&&&& MSR&&&& CPSR_c, #0xd2&&&&&&& LDR&&&& SP, StackIrq;设置快速中断模式堆栈&&&&&&& MSR&&&& CPSR_c, #0xd1&&&&&&& LDR&&&& SP, StackFiq;设置中止模式堆栈&&&&&&& MSR&&&& CPSR_c, #0xd7&&&&&&& LDR&&&& SP, StackAbt;设置未定义模式堆栈&&&&&&& MSR&&&& CPSR_c, #0xdb&&&&&&& LDR&&&& SP, StackUnd;设置系统模式堆栈&&&&&&& MSR&&&& CPSR_c, #0xdf&&&&&&& LDR&&&& SP, =StackUsr
&&&&&&& MOV&&&& PC, R0
StackSvc&&&&&&&&&& DCD&&&& SvcStackSpace + (SVC_STACK_LEGTH - 1)* 4&&;StackIrq&&&&&&&&&& DCD&&&& IrqStackSpace + (IRQ_STACK_LEGTH - 1)* 4StackFiq&&&&&&&&&& DCD&&&& FiqStackSpace + (FIQ_STACK_LEGTH - 1)* 4StackAbt&&&&&&&&&& DCD&&&& AbtStackSpace + (ABT_STACK_LEGTH - 1)* 4StackUnd&&&&&&&&&& DCD&&&& UndtStackSpace + (UND_STACK_LEGTH - 1)* 4
&&&&&&& AREA&&& MyStacks, DATA, NOINIT, ALIGN=2SvcStackSpace&&&&& SPACE&& SVC_STACK_LEGTH * 4& ;管理模式堆栈空间IrqStackSpace&&&&& SPACE&& IRQ_STACK_LEGTH * 4& ;中断模式堆栈空间FiqStackSpace&&&&& SPACE&& FIQ_STACK_LEGTH * 4& ;快速中断模式堆栈空间AbtStackSpace&&&&& SPACE&& ABT_STACK_LEGTH * 4& ;中止义模式堆栈空间UndtStackSpace&&&& SPACE&& UND_STACK_LEGTH * 4& ;未定义模式堆栈10,边看书边实践,不断培养自己对ARM的兴趣,不断取得点成绩,别奢望一口吃成一个胖子,不断的给自己带来成功得快乐,我们都需要短期成绩的刺激才能长久的坚持。11,做一个项目吧。否则永远也不能说你学会了。12,本文给初学者指路用,背下本文,然后去看学习ARM的书籍,现在网上到处都有的ARM指令集,ARM的芯片资料,ARM应用系统开发详解,ADS-EasyJTAG,本篇宝典将是你学习ARM的加速器。
c语言相关文章:
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一