华体会体育官网

华体会首页

位置:首页 > 产品中心
产品中心

|

发布时间:2022-07-19 05:12:15 来源:华体会体育官网 作者:华体会体育官网app

[展开全文]

  /unix操作系统做交叉编译,但是前者往往更多的是在Keil上做开发,但由于本人个人关系,比较不喜欢Keil界面,所以一般在做嵌入式开发的时候,都会优先考虑是否有/unix类的SDK(指包含编译工具)。但似乎Mac OSX上做嵌入式开发的人员较稀少,hum...因此资料也会相对较少。

  本文所举例子,是千千万万种嵌入式芯片的一种,并不具备普遍性,但读完本文应该也会让你略有收获。

  举个列子:虽然手机属于嵌入式设备,但目前人数众多的APP开发者不属于嵌入式开发,而是属于应用开发人员(因为他们都是基于手机操作系统进行编程的)。但手机厂家中那些开发手机底层驱动和底层应用的人员则属于嵌入式开发。

  简单来说,在C语言(包括但不限于)编译过程中会分为四个阶段: 预处理 - 编译 - 汇编 - 链接

  但是在以上过程中,需要占用“大量资源”,在嵌入式设备(嵌入式设备的设计要诀之一就是能省则省)中并不具备该资源(如编译器、足够快的CPU、内存等),所以需要借助我们的PC平台进行编译。这种在一种平台编译,另一种平台运行的编译,我们称之为交叉编译。

  编译工具:编译器,可以将人类所写的代码转化为机器能懂的二进制文件,如 GCC、Clang、Javac

  本文主要介绍Mac上的软件开发工具,在nRF51822开发过程中,软件我们需要SDK、编译器以及J-Link驱动软件:

  nRF5-SDK:SDK由厂商提供,点击进入官方网站后,选择目前最新的11.0.0版本进行下载:

  编译器:下载好官方SDK后,打开SDK中的Makefile.posix文件,可以看到该版本SDK所用的gcc编译器版本。

  进入到gcc-arm官网后,选择相对应版本的编译器下载(相对于Linux和Windows的下载量,Mac版本好惨淡... =_=)

  当flash出现错误时,我们需要擦除falsh,此时我们要用Magic方法,分别往两个地址中写入1和2:

  其中nrfjprog用于烧录程序,mergehex用于合并hex文件。安装好nrfjprog和mergehex工具后,我们只需要在上述的工程目录下,输入:



上一篇:嵌入式课程安排 粤嵌嵌入式培训课程大纲参考
下一篇:长春招聘2022年长春奥普光电技术股份有限公司招聘