bsp工程师需要用到什么语言

Python061

bsp工程师需要用到什么语言,第1张

C语言。

BSP工程师主要是和底层硬件,系统打交道,所以C语言是最主要的编程语言。

从事嵌入式BSP开发的人员主要来源于计算机专业和电子信息专业。这两个专业是和嵌入式BSP最相关的专业了。对于BSP工程师来讲,主要的工作就是使硬件及其上的操作系统稳定的工作,所以理解硬件原理、计算机原理和操作系统是最基本的要求,而这两个专业都会学习到像模拟电路,数字电路之类的硬件原理基础,计算机原理和一门高级语言也是这两个专业的必修课,这些已经基本构成了BSP工程师的必需的知识面。

#include <math.h>#include <graphics.h> /*预定义库函数*/void circlePoint(int x,int y)/*八分法画圆程序*/{ circle(320+x*20,240+y*20,3) circle(320+y*20,240+x*20,3) circle(320-y*20,240+x*20,3) circle(320-x*20,240+y*20,3) circle(320-x*20,240+y*20,3) circle(320-x*20,240-y*20,3) circle(320-y*20,240-x*20,3) circle(320+y*20,240-x*20,3) circle(320+x*20,240-y*20,3)}void MidBresenhamcircle(int r) /* 中点Bresenham算法画圆的程序 */{ int x,y,d x=0y=rd=1-r /* 计算初始值 */ while(x<y) { circlePoint(x,y) /* 绘制点(x,y)及其在八分圆中的另外7个对称点 */ if(d<0) d+=2*x+3/* 根据误差项d的判断,决定非最大位移方向上是走还是不走 */ else{ d+=2*(x-y)+5 y--} x++delay(900000)} /* while */}main(){ int i,j,r,graphmode,graphdriver detectgraph(&graphdriver,&graphmode) initgraph(&graphdriver,&graphmode," ") printf("中点Bresenhamcircle算法画圆的程序\n")/*提示信息*/printf("注意 |r|<=11") printf("\n输入半径值 r:") scanf("%d",&r) printf("按任意键显示图形...") getch() cleardevice() setbkcolor(BLACK) for(i=20i<=620i+=20) /*使用双循环画点函数画出表格中的纵坐标*/for(j=20j<=460j++) putpixel(i,j,2) for(j=20j<=460j+=20) &n欢迎光临学网,收藏本篇文章 [1] [2] $False$ bsp/*使用双循环画点函数画出表格中的横坐标*/for(i=20i<=620i++) putpixel(i,j,2) outtextxy(320,245,"0")/*原点坐标*/ outtextxy(320-5*20,245,"-5")circle(320-5*20,240,2) /*横坐标值*/ outtextxy(320+5*20,245,"5")circle(320+5*20,240,2) outtextxy(320-10*20,245,"-10")circle(320-10*20,240,2) outtextxy(320+10*20,245,"10")circle(320+10*20,240,2) outtextxy(320-15*20,245,"-15")circle(320-15*20,240,2) outtextxy(320+15*20,245,"15")circle(320+15*20,240,2) outtextxy(320,240-5*20,"-5")circle(320,240-5*20,2) /*纵坐标值*/ outtextxy(320,240+5*20,"5")circle(320,240+5*20,2) outtextxy(320,240-10*20,"-10")circle(320,240-10*20,2) outtextxy(320,240+10*20,"10")circle(320,240+10*20,2) outtextxy(20,10,"The center of the circle is (0,0) ") /*坐标轴左上角显示提示信息*/setcolor(RED)/*标记坐标轴*/line(20,240,620,240) outtextxy(320+15*20,230,"X") line(320,20,320,460) outtextxy(330,20,"Y") setcolor(YELLOW) MidBresenhamcircle(r) setcolor(BLUE)/*绘制圆*/ circle(320,240,r*20) setcolor(2) getch() closegraph()}

嵌入式系统需要学C语言编程。

根据中国物联网校企联盟的建议,学习嵌入式系统的必备知识与学习方法如下:

1、C开发经验

条件:Linux。方法:主要是掌握ANSI C编程(不包括gtk,qt等图形可视化开发)

2、网络、操作系统、体系结构

条件:Linux,各种书,算法、例程。方法:通过C编程实现简单的网络等知识的算法和过程。

3、嵌入式系统概念

条件:各个嵌入式网站,讨论组,书籍。方法:少提问,多留给自己思考的空间。

4、嵌入式开发实践

条件:各种嵌入式系统开发工具的demo版,包括编译器,仿真器。

方法:一个是基于MCU/MDSP的嵌入式系统开发,另一个是像Palm OS,WinCE,uC/OS II等RTOS下的应用软件开发。第一个是针对硬件开发而言的,而第二个则是针对软件开发而言的。

扩展资料

发展趋势:

1、嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。

目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7,Arm9芯片的同时还提供开发板和板级支持包(BSP)。

而WindowCE在主推系统时也提供Embedded VC++作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。

2、网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。

参考资料来源:百度百科-嵌入式系统