硬体编程
1. 所谓的硬件编程到底是什么意思
个人感觉这个概念比较宽泛.大概分这么几种:
一.单片机和DSP,一般使用c语言和汇编混合编程,不同公司的芯片所配置的c编译器不同,汇编指令也不尽相同;
二.现在的专用集成电路,主要是在CPLD和FPGA上实现,使用的是硬件描述语言如VHDL和Verilog,在射频AD采样后中频处理的地方,时下比较流行;
三.比较原始的对芯片进行配置,某些芯片可以通过设置管脚的高低电平改变芯片的工作模式,即命令控制字;
总而言之,编程就是可以配置的意思,就像程序员一般不会把程序写死,总会做几个配置文件方便于不同的应用场合一样.
2. 学硬件编程难吗
学硬件编程当然是不容易了,这个是很枯燥的,没有这个兴趣爱好,一般人学不好的。
3. 硬件编程
那你就学linux或windows 驱动编程,但不会有人告诉你这个硬件那个硬件的工作原理和控制方法。除了已有的源代码,想了解更多的就自己反汇编,汇编这时候就有用。写驱动,用c语言,c语言这时候就有用。如果用类方式来写,c++这时候就有用。设计文件系统要懂更多的理论,谁说学了这些没用?
应该从小事做起。比如bios中断10的工作原理,你知道吗?别人就是一句一句的去读反汇编的代码,没有经年的时间,不会成为高手。如何用ioctl去控制硬件,估计你现在也做不到。cpu io的工作秘密,隐藏在成千零散的资料里,不学点外文你又怎么知道?
要提高,非得有目的的编程不可,非得系统的学习不可,指望这里一点,那里一点,不会有多大进步。
4. 学硬件编程好还是软件编程好
两者的主要区别都在操作层面,而编程的核心在于算法而不再软件和硬件.这种比较还是层次比较低的入门级比较.
从就业角度讲,硬件编程的应用场景比较特殊一点,就业选择比较少.但是就业机会多不代表收入就好.如果你想高收入,首先要考虑是把编程学充分了,而不是首先限定自己只学软件或硬件,因为这只是限制你就业的可选空间.
5. 想做个硬件编程,要学些什么
变成的话,你也应该要学一些基本的一个编程的一个语言的操作了。
6. 硬件编程语言有哪些
早一点是VHDL,现在是Verilog,c语言,matlab,verilog,vhdl用的多。
偶尔需要c++或者labview做上位机和硬件通信。
编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
目前通用的编程语言有两种形式:汇编语言和高级语言。
7. 计算机硬件编程
第一个问题:
不用,程序操作硬件是通过硬件提供的控制寄存器进行操作的,通过设置不同的控制寄存器状态,可以达到控制硬件的目的。相当于给硬件发控制信号。
第二个问题:
在Windows下是不能的,准确的说是不能够直接操作特殊硬件的,比如CPU,内存,磁盘,显卡等等。对于这些硬件的操作只能通过Windows内核提供的函数来操作。
但是对于另一些设备,比如视频采集卡,你可通过编写驱动程序的方式控制你的硬件,但是也是要在Windows的管理下操作,不能随心所欲的。
驱动程序的编写只要是C语言,直接和硬件控制寄存器交互,肯定是汇编了
8. 什么是计算机硬件编程
编程
自己编辑一个软件
!
简单
dos
批
处理就相当与一个编程!~
包括C语言
VB
@echo
off
cls
运行某个程序
所谓
就是编程!
9. 硬件编程需要学习哪些课程
需要学习:数字逻辑,数字电路、C或者汇编语言、微机原理与接口、编译原理、组成原理。
一、重视基础课的学习
1.计算机虽然是高科技的象征,但又受到其它专业发展的制约。计算机专业知识的学习同样要加强一些相关知识的学习。计算机学习过程往往是由硬件开始,走向软件,但最终又会走向硬件。一个软件开发高手非常注重程序效率,而效率却往往与计算机硬件知识是紧密相关。
2. 要由始至终地加强英语的学习。因为目前的计算机程序设计语言主要是外国开发的,
编代码的主要语句往往是英文,中文通常是做解释和说明用。有一定的英文基础,在计算机学习上可以事半功倍。
二、学习路线
1.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。
2.一门编程语言,现在基本上都是面向对象的语言,Java/C++/C#等等。如果做WEB
开发的话还要学习HTML/JavaScript等等。
3.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
4.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等。
5.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
6.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
7.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
8.项目管理、体系结构、框架知识。
正确的路线应该是:2→3→5→6→7→8。
三、不局限于Java
Java不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习Java
集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是"需要的时候再学"的原则。