亚洲国产欧美一区二区三区丁香婷,国产精品高潮呻吟久久av免费看 ,欧美无遮挡一区二区三区国产对白,日本一区二区免费不卡中文字幕

如何在mac上做嵌入式開發(fā)?

OSX上做嵌入式開發(fā)的人員較稀少,hum.基于嵌入式平臺所進行的底層開發(fā),我們稱之為“嵌入式開發(fā)”。舉個列子:雖然手機屬于嵌入式設備,但目前人數(shù)眾多的APP開發(fā)者不屬于嵌入式開發(fā),而是屬于應用開發(fā)人員(因為他們都是基于手機操作系統(tǒng)進行編程的)。但手機廠家中那些開發(fā)手機底層驅(qū)動和底層應用的人員則屬于嵌入式開發(fā)。...

C先生/文

生于患難,死于安寧。

前言

目前,嵌入式開發(fā)平臺按性能可分為兩大類。一種是CPU只有幾十兆的單片機,??另一種是比較先進的嵌入式平臺,可以運行Linux甚至是(其實手機就是嵌入式產(chǎn)品)。

后者一般是基于Linux/unix操作系統(tǒng)進行交叉編譯,但前者往往更多是在Keil上開發(fā),但由于我個人的關系,我不太喜歡Keil接口,所以我一般優(yōu)先考慮嵌入式發(fā)展??紤]是否有類似Linux/unix的SDK(指包含編譯工具)。不過貌似做嵌入式開發(fā)的人比較少,嗯……所以資料會比較少。

本文中的例子是千千萬萬個嵌入式芯片中的一個,并不通用,但是看完這篇文章,你應該會有所收獲。

系統(tǒng)環(huán)境 什么是嵌入式開發(fā)?

基于嵌入式平臺的底層開發(fā)稱為“嵌入式開發(fā)”。

那么現(xiàn)在傳說中的程序員,哪些猿類屬于嵌入式開發(fā)呢?

例如:雖然手機是嵌入式設備,但目前大量的APP開發(fā)者不屬于嵌入式開發(fā),而是屬于應用開發(fā)者(因為都是基于手機操作系統(tǒng)編程的)。但是,手機廠商開發(fā)手機底層驅(qū)動和底層應用的,屬于嵌入式開發(fā)。

mac做視頻的軟件_mac做開發(fā)的軟件有哪些軟件_mac做圖片的軟件

目前,由于近年來移動互聯(lián)網(wǎng)的蓬勃發(fā)展,Web猿和APP猿群體是最大的。

什么是交叉編譯?

總之,C語言的編譯過程(包括但不限于)將分為四個階段:**預處理->編譯->匯編->鏈接**

但是,在上述過程中,需要占用“大量資源”mac做開發(fā)的軟件有哪些軟件,這在嵌入式設備中是不可用的(嵌入式設備的設計技巧之一就是盡可能節(jié)?。ɡ缇幾g器、足夠快的 CPU、內(nèi)存等)),所以需要借助我們的PC平臺進行編譯。這種在一個平臺上編譯并在另一個平臺上運行的編譯稱為交叉編譯。

程序是如何創(chuàng)建的?

在將程序創(chuàng)建到用戶手中的過程中,除了系統(tǒng)提供的 API 之外,程序員還需要三個必不可少的工具:

集成上述前兩個工具的工具稱為 IDE,例如 Xcode、Keil。

mac做視頻的軟件_mac做開發(fā)的軟件有哪些軟件_mac做圖片的軟件

開發(fā)工具

如果你想試驗這篇文章,首先你需要買一塊開發(fā)板,像這樣:

本文主要介紹mac上軟件的開發(fā)工具。在開發(fā)過程中,軟件我們需要SDK、編譯器和J-Link驅(qū)動軟件:

環(huán)境設置和測試

**安裝編譯器**

將下載好的編譯工具鏈解壓到/usr/local目錄下:

  sudo tar -jxvf gcc-arm-none-eabi-4_9-2015q1-20150306-mac.tar.bz2 /usr/local/

執(zhí)行后檢查是否成功:

編譯示例

去下載好的SDKmac做開發(fā)的軟件有哪些軟件,找個例子,比如:

 cd  $(nRF_51SDK)/examples/ble_peripheral/ble_app_beacon/pca10028/s130/armgcc
 make all

編譯完成后會生成對應的bin文件:

下載固件到板

安裝J版工具后,我們可以看到系統(tǒng)中已經(jīng)有以下命令行工具:

使用命令行進入J-Link提供的shell:

JLinkExe -device nrf51822_xxaa -if swd -speed 4000

- 指定芯片類型,可以在ces上查詢J-Link支持的開發(fā)板類型。

輸入燒錄命令:

 J-Link >loadbin s130_nrf51_2.0.0_softdevice.hex 0
 J-Link>loadbin  nrf51422_xxac_s130.hex 0x1B000
 J-Link>r 
 J-Link>go

為燒錄命令,*.hex 為燒錄固件和燒錄地址。r 被重置,go 是開始。

當閃存出現(xiàn)錯誤時,我們需要擦除閃存。這時候,我們使用Magic方法分別將1和2寫入兩個地址:

 J-Link>w4 4001e504 2
 J-Link>w4 4001e50c 1 

可以在.posix中添加如下命令,編譯完成后自動燒錄:

GNU_INSTALL_ROOT := /usr/local/gcc-arm-none-eabi-4_8-2014q2
GNU_VERSION := 4.8.3
GNU_PREFIX := arm-none-eabi
GDB_PORT_NUMBER := 9992
FLASH_START_ADDR = $(shell $(OBJDUMP) -h         \
$(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out -j .text | grep .text | awk '{print $$4}')
JLINK_OPTS = -device nrf51822 -if swd -speed 4000
JLINK_GDB_OPTS = -noir
JLINK = JLinkExe $(JLINK_OPTS)
JLINKD_GDB = JLinkGDBServer $(JLINK_GDB_OPTS)
flash-jlink: flash.jlink
    $(JLINK) flash.jlink
flash.jlink:
    printf "loadbin $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin $(FLASH_START_ADDR)\nr\ng\nexit\n" > flash.jlink
erase-all: erase-all.jlink
    $(JLINK) erase-all.jlink
erase-all.jlink:
    # Write to NVMC to enable erase, do erase all, wait for completion. reset
    printf "w4 4001e504 2\nw4 4001e50c 1\nsleep 100\nr\nexit\n" > erase-all.jlink
run-debug:
    $(JLINKD_GDB) $(JLINK_OPTS) $(JLINK_GDB_OPTS) -port $(GDB_PORT_NUMBER)
.PHONY:  flash-jlink flash.jlink erase-all erase-all.jlink run-debug

命令行工具在官方固件下載list: 和 .

用于刻錄程序和合并十六進制文件。安裝好工具和工具后,我們只需要在上面的項目目錄中進入:

    make flash #燒錄應用程序
    make flash_softdevice #燒錄系統(tǒng)內(nèi)核

固件編程即可完成。

超過

至此,mac中的開發(fā)環(huán)境搭建完畢。

發(fā)表評論