硬件开发教程
1. 计算机硬件基础教程
清华大学计算机课程之计算机原理
"计算机原理"是计算机专业学生必修的核心硬件课程。课程内容,是在学习过数字逻辑和数字集成电路课程的基础上,分成如下3个层次给出课程的有关知识和技术内容:
(1)重点讲解简单、完整、单台计算机的基本组成原理和内部运行机制,
(2)适当说明当前国内外流行的最新计算机中广泛采用的新技术、新工艺,
(3)顺便了解当前国内外计算机组成领域最新研究成果和发展应用趋势。
第一个层次的教学内容是重点,属于原理性的基础知识,其特点是内容相对稳定,同学可以动手实践。因此,同学在通过课堂教学学习过这些原理知识的基础上,可以通过教学实践环节,完成指定的教学实验题目,或者参加并完成带有一定研究型的工程设计项目来加深对教学内容的理解程度,增长研究、开创性工作、通过实践获取知识的能力,从知识和能力两个方面全面提高学生的素质。
第二个层次体现的是教学内容的先进性,其特点是技术性较强,内容变化相对较快,由于设备条件的限制,同学难以动手实践,更多的是通过课堂教学来学习这些知识,适当的布置一些作业,重点锻炼学生的逻辑思维和创新能力。
第三个层次反映的是教学内容的前沿性,其特点是技术性上的不成熟性明显,有些甚至处于原理方案或者还只是一种思路,主要目的在于扩展学生的眼界和思考问题所站的高度。这部分内容不作为教学考试和评定成绩的必要要求。
下载地址:
http://www.ithov.com/Book/Downbook200903/%D3%B2%BC%FE%BC%BC%CA%F5/%D3%B2%BC%FE%BB%F9%B4%A1/%C7%E5%BB%AA%B4%F3%D1%A7%BC%C6%CB%E3%BB%FA%BF%CE%B3%CC%D6%AE%BC%C6%CB%E3%BB%FA%D4%AD%C0%ED.rar?0000000510122486000tflag=1250675970&opin=.rar
2. 如何搭建嵌入式开发的硬件环境
前言
首先,这个教程在仅使用附带的光盘镜像文件里的资料的情况下,所搭建的嵌入式 ARM 开发环境可以满足 ARM 核为 ARM920T 及 CORTEX-A8 的嵌入式开发需求。
其次,搭建针对处理器为 ARM920T 的开发环境步骤如下:
WINDOWS 系统:
1、 用 WINRAR 或 7zip 打开镜像文件 Linux-dev.iso,将/WIN32/Daemon_Tools_4.46.1.328.exe 拖出来,
安装后运行;
2、 使用 Daemon 加载镜像文件 Linux-dev.iso 后,找到并双击/vmplayer/VMware-player-5.0.1-894247.exe 运行,安装完成;
3、 将/VMware-linux-tools.iso 复制到任何地方,譬如 D:\Virtual Machines\ 文件夹下;4、 将文件夹/Ubuntu 复制到电脑的任何地方,譬如 D:\Virtual Machines\ 文件夹下;
5、 打开 VMware Player,这是一个免费的软件,所以不需考虑不能使用的情况,更不需破解。效果图如下:
嵌入式开发环境的搭建
点击”Open a Virtual Machine”,找到刚才复制的 Ubuntu 文件夹,选中 Ubuntu.vmx 这个文件:
嵌入式开发环境的搭建
后点击打开;
6、 点击”Edit virtual machine settings”,这里需要注意的是,若你的电脑 CPU 是单核的,需将”Processors”由 2 设置为 1,否则,不能运行。选择”CD/DVD (IDE)”,之后点击右边的”Browse…”,找到并选择刚才复制的 VMware-linux-tools.iso,之后点击”Options”进入另一个设置界面;
7、 选择第三个”Shared Folders”,在右边将其设置为”Always enabled”,再点击下面的”Add…”,选择一个在硬盘上新建的空文件夹,譬如 D:\Virtual Machines\shared 文件夹,点击”Next》”,之后点击”Enable this share”,最后在设置主界面点击”OK”完成设置;
8、 将虚拟光驱加载的光盘中 Linux 文件夹中的所有文件都复制到上一步新建的空文件夹,譬如
D:\Virtual Machines\shared 文件夹下;
9、 在 VMware Player 下点击图标 以运行虚拟机 Linux,启动后可以看到桌面上有一个光盘的图标;
10、 在 Linux 桌面右键后选择”Open in terminal”,之后切换到/tmp 目录:cd /tmp ;11、 执行命令 tar zxf /media/cdrom0/VMwareTools-9.2.2-893683.tar.gz ,等待约一分钟后运行完毕;
12、 切换目录:cd 。/vmware-tools-distrib/ ;
13、 执行命令:sudo 。/vmare-install.pl ,用户”user”的密码为 redeem2012 ;
14、 下面出现很多问题,[yes]或[no],那么就可以一直点击键盘 ENTER 键选择默认设置,直至安装完成;15、 人,活着,要有耐心——这个过程稍长,显示最后两行为”Enjoy, --the WMware team”时就安装完成了;
16、 以上几个步骤如下:
嵌入式开发环境的搭建
17、 执行命令:sudo reboot 以重启;
18、 启动后在桌面右键选择”Open in terminal”,输入命令:cd /mnt/hgfs/shared ,当然若之前选择的空享空文件夹名称与 shared 不一样,可能不是这个目录,唉,管不了这么多了;19、 查看目当下文件如下:
嵌入式开发环境的搭建
20、 安装 libusb-1.0.9.tar.bz2,依次输入以下命令:tar jxf libusb-1.0.9.tar.bz2 、
cd libusb-1.0.9 、 。/configure --prefix=/usr 、 make 、 sudo make install ,注意最后一步需要输入密码 redeem2012,完了之后返回原目录: cd 。。/ ;21、 安装 readline-6.2.tar.gz,依次输入以下命令:tar zxf readline-6.2.tar.gz 、 cd readline-6.2 、。/configure --prefix=/usr 、 make 、 sudo make install ,完了之后返回原目录:cd 。。/ ;
22、 安装交叉编译器:sudo tar arm-linux-gcc-3.4.5.tar.bz2 -C /home ;
23、 更改环境变量:gedit /home/user/.profile ,在最后一行添加这么一句:export PATH=$PATH:/home/user/gcc-3.4.5-glibc-2.3.6/bin ,保存后退出
24、 切换回用户主目录:cd ~ ;
25、 执行命令:tar jxf /mnt/hgfs/shared/JLink_Linux_V422.tar.bz2 ;
26、 依次执行以下命令:cd JLink_Linux_V422/ 、 sudo cp libjlinkarm.so.* /usr/lib ,现在就可以
运行 JLink 了: sudo 。/JLinkExe ,但要注意这么一点:由于现在运行的是 windows 系统下的虚拟机, Linux 操作系统无法访问到 JLink,那么就需要按下图所示选择将连接到电脑的 JLink 直接送给虚拟机中运行的 Linux。我没有 JLink,所以下图中没有,你需要自己选择硬件并点击箭头后再点击”connect”:
嵌入式开发环境的搭建
另外,下面需要安装 minicom,也需要按上图将串口连接到 Linux 操作系统;
27、 这一步安装minicom。将虚拟机文件夹 Ubuntu 下的 minicom_2.3-1ubuntu2_i386.deb 复制到shared文件下,之后执行命令:sudo dpkg --install /mnt/hgfs/shared/ minicom_2.3-1ubuntu2_i386.deb
到这一步,windows 系统下的嵌入式 ARM 开发环境搭建完成了。重启一下更好。
至于 Linux 系统下的配置,这要复杂得多,因为系统情况完全不一样,因而,这里不再给出,当然,所有的软件也跟上面的完全一样。
另外,minicom、JLink 的配置和使用,这里就不说了,自己到网上去找吧,若搞不好,就当自虐了。反正我已经送佛到西了,整个过程不需要仍何网络,不需要上网
所附的光盘镜像文件中还有一些 windows 下的软件,如 SecureCRT、arm-none-linux-gcc 等,这些也能用到,只不过我没那个心情讲更多了,以上的配置已经完全足够了。
网络是个好东西,没有网络,就没有 LINUX,也没有快速学习的条件。所以——现在,自学去吧。
3. 我是刚刚搞电子开发的,软硬件都不是很懂、看什么书才会很快的入门
先学51单片机开发吧,最好学会自己设计电路,然后自己制板,然后烧写程序,这样下来一整套程序全会了。书推荐《新概念51单片机C语言教程》
4. 学习手机硬件开发需要看什么书
硬件和软件不同,整个环境比较闭塞,手机开发只有被开发手机的公司招过去,然后接触相关的器件,这方面的技术知识网上很少的.手机的核心器件你不是大量的买,人家根本不给你技术支持,网上去问也没几个人用过. 当然你要范范的说基本知识储备的话,数电,模电,微波技术,通信原理....不说全学懂,至少认真学过.
下面推荐几本硬件书:
第一步:基础的有:物理学,半导体物理,模拟电子,数字电路,高频电子,电磁场与波(传输线原理),微机原理,信号与系统,通讯原理等等基础知识
第二步:想进一步的做产品,要懂材料学,机构,工艺,模具,可靠性,信号完整性,EMC/EMI,防雷防静电。
最后:也可以找这本《电子技术基础 模拟部分》 书看看。
5. 硬件开发板怎么开发
基础需要数电,模电等。
之后开发用PCB制图软件。一般网上有教程。
主要还是硬件基础
6. 想要自学硬件设计,有哪些教程可以推荐给我
建议找个专业的学校学习
毕竟自学好多东西都不懂
7. 如何学习嵌入式硬件开发
嵌入式开发难得不是C语言汇编语言,
而是各种MCU替换的情况下如何实现说需要的功能。
由于目前比较知名厂商有st,英飞凌,ti等
旗下有N+1个类别的MCU,不同级别的MCU在编程实现时候也有很多差别。
即使是同一个厂商实现方式上也存在差别。
因此建议先掌握基本的C语言或者汇编语言的开发,
然后选择一类学习开发板,自己好好研究。
8. 我想学习有关电子电路,硬件开发方面的知识,比如单片机,编程什么,不是很懂。大家给提供一些科目、书籍
如何学习单片机编程
1从一种单片机入手,推荐51单片机
2要学习基本硬件知识,比如简单的单片机外围电路
3用C语言编程,要学习C语言
4学会必要的电子软件PROTEL和KEIL,protues
一定要动手做些小作品,哪怕很简单。。。这门课实践性很强。。这就是新手上路了,重在坚持
--------------------
我说一下自己大概的学习过程:
1、单片机的资源里最重要的应该就是中断了,是一种处理实时事件的方法,因为中断是异步触发,会打断程序的流程。所以,这部分的深入理解会给写程序带来极大的帮助。至于其他的功能无非就是读写一些相关寄存器来实现,这些相关功能是为整体程序服务的,属于底层(指逻辑意义上)的东西。所有真正项目的完成,都依赖于单片机的基本功能的有机组合。请注意,我这样的描述方式其实透露出了一些“模块化”的设计思想----把程序的逻辑层次分离出来,然后进行有机组合。
2、单片机与pc机程序最大的不同就是没有操作系统,所有的东西都需要从最基本的来。这样的好处是可以更透彻地理解计算机的工作原理。我始终认为在单片机写程序的人比纯在pc上写程序的人更能理解计算机的本质。
3、基本的外围电路、外围芯片需要了解。其实,对于单片机来说,所有与单片机连接的部分,无论输入和输入都是高低电平。注意,“高低电平”这样的说法其实是偏向硬件的说法,是针对硬件电路的。在程序里没有高低电平的说法,都是逻辑0和1。所以,在描述程序中的“高低电位”的时候,我更愿意用逻辑0和1来表述。照此理解,我们完全可以把单片机理解为一个可以处理逻辑信号的“黑盒子”,有很多线(也就是单片机的引脚)连着黑盒子,用来与外界进行交流信息。
4、与单片机外的芯片或电路交流信息又多种方法,串口、各种总线等等。提到总线,一个重要的概念就不得不提,那就是时序。时序是所有芯片工作的基础,否则还要晶振做什么,晶振就是产生时序的原动力。总线中的时序想来一定会有如下这些功能:哪个时输出0和1,哪个时刻读如0和1,怎么表示一次通讯开始、结束、传输错误时怎么处理......
5、在一头扎入所有细节之后,时不时出来从更高的角度重新审视,会有意想不到的收获。
既然定时器中断之类都没问题了,那么单片机原理估计也大概懂了不少了,因为教程一般都是针对应用,对其原理相关的讲解也不会很多,一般讲单片机原理的,都是从汇编入手,机器码--》汇编助记符,51单片机空间划分及其寻址等,比如idata,xdata。作为使用者的话,而不是做芯片的话,理论上够用,估计楼主是想学一些简单的外围电路和通信接口协议吧?比如是IIC,IIS,SPI,和常用的一些FLASH接口。
汇编现在还不懂。我觉得对单片机现在还没有系统的思想!
汇编懂了,当然更好,但好多人是撇开汇编,也一样搞单片机,呵呵
对单片机现在还没有系统的思想,只因没做过,自己做了一两个实验,哪怕再简单,你只要从复位那步开始,弄清它的来龙去脉,那么你就理解它了。就正如我们以前刚学编程语言的时候,一样没有任何编程思想,再简单的作业只能仿照例子。后来慢慢有了,就是因为参考人家代码多了,自己做得多了罢了。
学好单片机也容易也不容易,你可以买个简单的开发板回来先练练手,书籍其实挺多的,基本上都大同小异主要是要实践,实践一遍基本上就会了,还有一种途径是在外面参加短期单片机培训班,你看你在哪里。我只知道武汉有一家叫武汉众嵌的培训机构有培训单片机项目开发的班,你可以在网上搜搜。
培训倒不用了,我现在的这个项目就是单片机的,PIC32的。只是感觉自己很多东西不懂!
慢慢来吧,既然有平台了,就一个字“干”,碰到不明白不明白的就查资料,就问人,OK了
不用学汇编 C语言就足够了 数电模电是要看的 看那些有总结性的书就行了 我这有 可传给你 最好看郭天祥的十天学会单片机 很不错 我就是从看他的视频开始的 最好再买个实验板 仿真的效果很差 一百都快钱就买一个个
引用 14 楼 zhulongzhulong 的回复:
不用学汇编 C语言就足够了 数电模电是要看的 看那些有总结性的书就行了 我这有 可传给你 最好看郭天祥的十天学会单片机 很不错 我就是从看他的视频开始的 最好再买个实验板 仿真的效果很差 一百都快钱就买一个个
9. 我如何开发一款硬件呢 ,比如一个小机器人
机器人有着悠久的历史。在古代,希伯来人写了一篇关于人工生物的文章; 达芬奇在1495年出版了一篇关于机械骑士的设计;而西屋公司的Televox机器人于1927年创建,会听取人类的声音命令。这些发展为今天我们的机器人未来愿景,铺平了道路。
然而,尽管所有在线教程都可以教一般人如何构建机器人,而我们却还没有做到。但是我们已经离制作一个机器人很接近了。在今天,建立一个机器人——至少从头开始——仍然需要开发人员的技能,或至少是基线编码知识。至少这个项目不再求助银行,因为目前广泛使用的技术类型有了合理的价格。
我们来看看创建一个具有明确目的功能的机器人真正需要什么。
步骤1:设定意图
第一步是为机器人设定一个意图。它会创造自主的海滩艺术吗?它会是一个家庭伴侣,拥有先进的情感智慧,学习新事物吗?培养对STEM教育的兴趣?简化制造供应链的流程?天空是极限,但没有理由太复杂——有时最成功的机器人是那些满足单一目的的机器人。无论如何,没有明确的意图,就不可能建立一个成功的作品。
步骤2:选择你的平台
接下来,决定您的机器人将运行什么操作系统。选择最佳操作系统取决于您是建造工业机器人还是认知机器人。Windows 10击败了Linux,用于日常使用的机器人,主要是由于它与Microsoft的AI解决方案的集成。此外,Windows 10是用户友好和易于操作与基本的计算机知识。一旦您决定了要创建什么样的机器人,您就可以选择最能使您的机器人生活的操作系统。
步骤3:建立大脑
下一步,可以说是最重要的一步,就是建立你的机器人的中央指挥部。无论是语音认知,语音,面部识别,运动检测还是其他功能,都可以作为支持机器人所需功能的骨干。
这种“大脑”的基础可以像手持式互联网连接的硬件一样简单。热门的迭代包括可以自行编程的经济实惠的小型计算机Raspberry Pi,以及预先安装完整的Windows 10操作系统的第一个制造商Board LattePanda,从而提供与常规Windows PC相同的用户体验。LattePanda是手掌大小、基于intel和arino的,它允许处理器优化、开发和定制机器人原型的编码。好消息是,LattePanda不仅适用于软件开发人员,还可以通过教学和制作人员逐步使用教程。
步骤4:创建外壳
在步骤1中为您的机器人提供的功能将决定它所需要的物理特性。例如,如果你正在建造一个需要视觉的清洁机器人,大脑需要与激光扫描仪、马达驱动和触觉传感器兼容。如果机器人需要能够与其他设备通信,请确保大脑可以适应消息传递连接。
机器人正在走向主流
一些最令人印象深刻的机器人发明已经在市场上。以InMoov为代表,这是第一个开源、3d打印的、真人大小的机器人,它走路和说话。尽管InMoov在电影中拥有典型的人形机器人形象,但它的形状和大小各不相同,为企业和消费者提供了不同的用途。
机器人无处不在,它们不会消失。北美的企业去年订购了近 35,000台机器人,由于生产力和机器人提供的速度有可观测的增长,从2015年起就有10%的跌幅。同样, 到2020年,有超过十分之一的美国家庭预计将拥有一台机器人,从2015年的25个增加到了一个。这些统计数据突出表明,无论多么基本或复杂,我们都需要对所有这些东西进行更主流的理解。
在一天结束的时候,有很多关于如何创建机器人的噪音。诚然,有很多方法可以做到,但为了取得成功,该过程需要知识和耐心。它包括制定明确的策略,权衡不同操作系统的优缺点,编程大脑以执行所需功能,以及构建实现机器人预定功能的物理特征。内容来源:机器人家
望点赞,谢谢
10. 学习硬件开发需要学习哪些书籍
下面是我列出的书单:
嵌入式书籍推荐
Linux基础
1、《Linux与Unix Shell 编程指南》
C语言基础
1、《C Primer Plus,5th Edition》Stephen Prata着
2、《The C Programming Language, 2nd Edition》Brian W. Kernighan David M. Rithie(K & R)着
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明著
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
5、《Linux高级程序设计》 杨宗德著
硬件基础
1、《ARM体系结构与编程》杜春雷着
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系统原理与实例开发》 杨宗德著
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》Randal E. Bryant David O''Hallaron着
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》
C语言书籍推荐
1. The C programming language 《C程序设计语言》
2. Pointers on C 《C和指针》
3. C traps and pitfalls 《C陷阱与缺陷》
4. Expert C Lanuage 《专家C编程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《编程精粹--Microsoft 编写优质无错C程序秘诀》
6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》
7.《C语言嵌入式系统编程修炼》
8.《高质量C++/C编程指南》林锐
把这些书看完,基本就可以了