久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: nRF51822 SDK初體驗 [打印本頁]

作者: wangyin    時間: 2014-8-16 23:09
標題: nRF51822 SDK初體驗
作為兩家BLE芯片大廠之一,nordic不像TI那么開放,nordic的開發資料是很難找的。
今天有幸得到nordic的BLE芯片nRF51822的SDK,看了一下。

首先,nordic號稱協議棧(稱為SoftDevice)和應用完全分開,是怎么實現的呢?
TI的協議棧以庫的形式提供,用戶應用在鏈接時和庫鏈在一起形成最終的機器代碼,TI提供庫和頭文件供用戶使用。
nordic用了不同的方式:SoftDevice,這樣協議棧和用戶應用可以單獨編譯和鏈接。實現BLE的SoftDevice似乎叫S110,由nordic提供。我猜nordic應該只提供S110的機器碼,應該不會提供源代碼。
看了nRF51 SDK,里面確實沒有BLE的庫,所有sd_打頭的函數都是SoftDevice相關的。比如:sd_ble_gap_adv_data_set
這個函數是這么定義的:
SVCALL(SD_BLE_GAP_ADV_DATA_SET, uint32_t, sd_ble_gap_adv_data_set(uint8_t const * const p_data, uint8_t dlen, uint8_t const * const p_sr_data, uint8_t srdlen));
這個SVCALL在使用MDK時是這么定義的:
#define SVCALL(number, return_type, signature) return_type __svc(number) signature
似乎是使用了Cortex-M0的SVC機制實現Softdevice。
(題外話,我在想Nordic會把自己的協議棧綁在一種CPU架構上嗎?不是的,代碼里有一個開關SVCALL_AS_NORMAL_FUNCTION
可以讓上面的SVCALL宏定義變成普通的函數聲明。當然在沒有
源代碼和庫的情況下打開這個開關會出現找不到函數實現的鏈接錯誤)

總體來說我覺得softdevice就是nordic一種封閉協議棧核心代碼的方式,和TI提供庫文件的方式沒有區別。
nordic號稱自己的協議棧可以配合其它的RTOS,但是如果RTOS也用了相同的SVC呢?
我不關心nordic或者TI的協議棧核心代碼實現,就算給我源代碼我也懶得看,但是我覺得TI用庫提供協議棧的方式更直接和通用;nordic這種方式太取巧了,某些時候會給用戶帶來一些限制。
當然51822還是有一些優勢的,至少封裝比較小。

至于怎么在nRF51822上開發應用我還沒來得及看,沒辦法和TI的架構比較


作者: chinabj2019    時間: 2019-6-11 22:32
我這里有51822的模塊,可以提供開發測試使用。很想同您合作,不知意向如何?




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲3p | 亚洲www.| 日韩在线免费观看视频 | 羞羞视频在线观看 | 亚洲久久| 超碰精品在线观看 | 国产一区二区三区视频免费观看 | 国产精品爱久久久久久久 | 毛片软件 | 亚洲第一成年免费网站 | 日韩高清www | 视频一区欧美 | 久久久久久高潮国产精品视 | 日韩精品影院 | 91精品中文字幕一区二区三区 | 黄色a视频 | 少妇一级淫片免费放播放 | 精品国产乱码久久久久久1区2区 | 久久精品视频在线播放 | 91精品欧美久久久久久久 | 午夜精品久久久久久久99黑人 | 精品欧美一区二区在线观看视频 | 国产精品av久久久久久久久久 | 欧美精品一区在线 | 日韩网站在线观看 | 日韩欧美国产精品一区二区三区 | 久久久精彩视频 | 一级欧美日韩 | 国产激情精品一区二区三区 | 久久99精品国产自在现线小黄鸭 | 国产精品久久久久一区二区三区 | 国产精品高潮呻吟久久 | 欧美日韩在线一区二区 | 日本精品一区二区 | 91成人在线视频 | 成人在线视频免费看 | 亚洲一区二区精品视频 | 亚洲午夜一区二区 | 中文字幕在线观看国产 | 国产欧美日韩久久久 | 99伊人网|