0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Raspberry Pi 3進(jìn)行快速開發(fā)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-02-25 08:10 ? 次閱讀

無論開發(fā)人員是專業(yè)人士還是業(yè)余愛好者,Raspberry Pi 開發(fā)板在整個(gè)開發(fā)周期都對(duì)非常有用。盡管 Raspberry Pi Zero 得到了人們的極大關(guān)注,但一直是很難獲得的稀缺品。幸運(yùn)的是,設(shè)計(jì)人員可以使用Pi 家族中的其它板子,這些板子同樣功能出色,能滿足各種應(yīng)用要求。

Raspberry Pi 3 使用其四核處理器,并可提供比單核 Pi Zero 多一倍的內(nèi)存。對(duì)于需要較小設(shè)計(jì)封裝,但又對(duì) Pi Zero 的性能感到失望的開發(fā)人員,Raspberry Pi 計(jì)算模塊 3 (CM3) 就是不錯(cuò)的選擇。該模塊既具有 Pi 3 的高性能,又如 Pi Zero 一般只有信用卡大小。通過利用大量擴(kuò)展硬件板和現(xiàn)有軟件,開發(fā)人員可以使用 Pi 3 和 CM3 滿足各種應(yīng)用要求。

啟動(dòng) Raspberry Pi 入門并運(yùn)行

Raspberry Pi 系統(tǒng)提供了強(qiáng)大的開源基礎(chǔ),使供應(yīng)商、第三方開發(fā)人員和用戶自己能夠利用越來越豐富的軟件和硬件生態(tài)系統(tǒng)并做出貢獻(xiàn)。Pi 硬件最初是由 Raspberry Pi Foundation 開發(fā)用于計(jì)算機(jī)教學(xué)的低成本平臺(tái),現(xiàn)在已經(jīng)演變成一個(gè)適合快速原型開發(fā)、功能強(qiáng)大且成本較低的平臺(tái),而且越來越多地作為可嵌入的計(jì)算平臺(tái)。

Pi 軟件可提供類似水平的性能,而且容易獲取。Pi 開發(fā)板運(yùn)行 Raspbian,這是針對(duì) Raspberry Pi 開發(fā)板優(yōu)化的 GNU/Linux 操作系統(tǒng) (OS) 版本。開發(fā)人員可以將含有 Raspbian 安裝程序 NOOBS 的 SD 卡插入 Pi 開發(fā)板的 SD 接口,幾秒鐘后便會(huì)出現(xiàn)熟悉的 Linux 環(huán)境并可開始運(yùn)行。

由于 Raspberry Pi 社區(qū)非常活躍,有特定要求的開發(fā)人員可以從其他操作系統(tǒng)中選擇,包括桌面 Ubuntu、Ubuntu Core、Windows 10 IoT Core、基于 Linux 的 Open Source Media Center (OSMC) 和 RISC OS 等。對(duì)于這些發(fā)行版本,開發(fā)人員只需要使用存儲(chǔ)在 SD 卡上的下載圖片來加載系統(tǒng)即可。最后,軟件工程師可以利用豐富的可用軟件庫來支持以各種編程語言進(jìn)行開發(fā)。

Pi 片

在硬件層面,Pi 硬件已演變成三大分支,這些分支在性能、大小和功能方面存在一些顯著差異(表 1)。最近推出的 Pi Zero 以其小尺寸引人矚目,可作為入門級(jí)開發(fā)板使用,并且為降低成本以及縮小封裝尺寸,犧牲了一些功能元素。相比之下,Pi 3 及其嵌入式變體 CM3 具有高性能四核處理器和大內(nèi)存,可以為嵌入式應(yīng)用提供強(qiáng)大的硬件平臺(tái)。此外,CM3 封裝與 Pi Zero 幾乎相同,且不會(huì)犧牲性能或功能。

Pi 處理器 存儲(chǔ)器 尺寸 IO Pi 3 BCM2837(1.2 GHz 64 位四核 ARM Cortex-A53,帶雙核 VideoCore IV GPU

1GB RAM

NVM: Micro SD 卡插槽

85 mm x 56 mm

Pi 40 引腳針座

40 個(gè) GPIO

802.11n Wi-Fi

藍(lán)牙 4.1

以太網(wǎng)

USB

HDMI

AV 端口

相機(jī)接口 (CSI)

顯示器接口 (DSI)

Pi CM3 同 Pi 3

1GB RAM

NVM: 4 GB eMMC 板載閃存

67.6 mm x 31 mm

200 引腳 SODIMM

48 個(gè) GPIO

2 個(gè) I2C

2 個(gè) SPI

2 個(gè) UART

2 個(gè) SD/SDIO

HDMI

USB

DPI、SMI、CSI、DSI

Pi Zero BCM2835(1 GHz 單核 ARM1176)

512 MB RAM

NVM: Micro SD 卡插槽

65mm x 30mm

Pi 40 引腳通孔

HDMI

USB

HAT 兼容針座

復(fù)合視頻和復(fù)位針座

CSI 相機(jī)連接器

表 1: Raspberry Pi 3、計(jì)算模塊 3 (CM3) 和 Pi Zero 的比較(來源: Digi-Key Electronics,根據(jù) Raspberry Pi Foundation 數(shù)據(jù)編制)

標(biāo)準(zhǔn)硬件接口是 Raspberry Pi 等平臺(tái)成功的關(guān)鍵因素。最近推出的 Pi 開發(fā)板,包括 Pi 3 和 Pi Zero,可提供同樣的 40 引腳接口,引出了 28 個(gè) GPIO 引腳,其中一些引腳是 I2C、SPI 和 UART 連接的兩倍(圖 1)。除了 GPIO 引腳,該 Pi 標(biāo)準(zhǔn)接口還提供了 3.3 V、5 V、接地和其他線路,如 EEPROM ID。多虧有這種通用引腳布局,Pi 用戶可以從第三方供應(yīng)商處找到多種擴(kuò)展板,并將其全都構(gòu)建在這個(gè)標(biāo)準(zhǔn)接口上。

如何使用Raspberry Pi 3進(jìn)行快速開發(fā)

圖 1: Pi 開發(fā)板(包括 Pi 3 和 Pi Zero)具有通用的 40 引腳接口,此接口會(huì)從主機(jī)板處理器和相關(guān)元器件中引出 GPIO 和其他線路。(圖片來源: Raspberry Pi Foundation)

然而,對(duì)于 Pi Zero 用戶,該 40 引腳接口以PCB 上的電鍍通孔形式提供,需要用戶壓接或焊接到通孔連接器針座上。對(duì)于 Pi 3,連接器針座本身是標(biāo)準(zhǔn)的(圖 2),同時(shí)還針對(duì) Wi-Fi 和以太網(wǎng)等 Pi Zero 不可用的功能來配備連接器,如表中所示。

圖 2: 在提供 Pi 標(biāo)準(zhǔn) 40 引腳接口的情況下,Pi Zero (a) 僅提供通孔連接,而 Pi 3 (b) 包括 40 引腳連接器,可以接受稱為 HAT(頂部安裝硬件)的擴(kuò)展板。(圖片來源: Raspberry Pi Foundation)

擴(kuò)展硬件

由于 Pi 接口提供電源、接地和 GPIO,開發(fā)人員可以將其分立電路直接連接到 Pi 3 GPIO 接口引腳。然而,Pi 平臺(tái)不是從零開始布線電路,而是提供更有效的擴(kuò)展 Pi 3 系統(tǒng)功能的方法。在這里,Pi 3 上的 40 引腳針座的可用性為配置為 HAT(頂部安裝硬件)的擴(kuò)展板提供了標(biāo)準(zhǔn)接口。借由這種簡單的電氣機(jī)械接口,開發(fā)人員可以使用應(yīng)用程序特定的功能快速增強(qiáng)基礎(chǔ) Pi 3 開發(fā)板。開發(fā)人員只需將 Pi 兼容的擴(kuò)展 HAT 壓入 40 引腳連接器上,即可創(chuàng)建擴(kuò)展板堆棧,所有這些都可以共享此單一接口。

開發(fā)人員可以利用大量擴(kuò)展板。例如,Pi Sense HAT 包括定向或環(huán)境感測(cè)應(yīng)用所需的全套傳感器。此外,還提供了一個(gè) LED 點(diǎn)陣和五按鈕操縱桿,可供用戶進(jìn)行反饋和交互(圖 3)。

圖 3: 開發(fā)人員只需插入 HAT 即可為 Pi 開發(fā)板添加功能,例如這個(gè) Pi Sense HAT,可提供多個(gè)傳感器以及 LED 點(diǎn)陣和五按鈕操縱桿,方便用戶交互。(圖片來源: Raspberry Pi Foundation)

Sense HAT 本身就是一個(gè)復(fù)雜的子系統(tǒng): 除了自有的 Microchip Technology 8 位 ATtiny MCU (ATTINY88) 外,該擴(kuò)展板還包括 STMicroelectronics LSM9DS1 慣性測(cè)量裝置 (IMU)、STMicroelectronics 的 HTS221 濕度/溫度傳感器和 STMicroelectronics LPS25HBTR 壓力傳感器。

部署簡單

與其他 Pi 兼容的擴(kuò)展板一樣,開發(fā)人員只要將 HAT 板向下壓入 Pi 3 的 40 引腳針座上,就能將此 Sense HAT 連接到 Pi 3 系統(tǒng)。軟件界面也很簡單: 獲得官方支持的 Python sense-hat 庫將低級(jí)硬件交互隱藏在簡單直觀的調(diào)用中(列表 1)。

from sense_hat import SenseHat

sense = SenseHat()

temp = sense.get_temperature()

print("Temperature: %s C" % temp)

humidity = sense.get_humidity()

print("Humidity: %s %%rH" % humidity)

# get_orientation_degrees returns a Python dictionary

# with keys pitch, roll, and yaw

orientation = sense.get_orientation_degrees()

print("p: {pitch}, r: {roll}, y: {yaw}".format(**orientation))

列表 1: Raspberry Pi Sense HAT 庫使軟件開發(fā)人員能夠使用一些直觀的調(diào)用從 Sense HAT 硬件獲取數(shù)據(jù)。(代碼來源: Raspberry Pi Foundation)

除了 Pi Sense HAT 之外,開發(fā)人員還可找到解決最典型的應(yīng)用需求的第三方 HAT。例如,Seeed Technology 114990831 提供了 2 通道 16 位數(shù)模轉(zhuǎn)換器 (DAC) 和 24 位模數(shù)轉(zhuǎn)換器 (ADC),具有 8 個(gè)單端或 4 個(gè)差分輸入通道。開發(fā)人員可以從 Seeed GPS、DFRobot 超聲波查找傳感器和 Adafruit 步進(jìn)電機(jī)等其他許多器件中找到擴(kuò)展。

若現(xiàn)有擴(kuò)展板無法滿足開發(fā)人員的要求,Seeed Technology 還提供了一個(gè)分線板 HAT,其中包括一些內(nèi)置元器件,包括 P-MOS、N-MOS、NPN 和 PNP 晶體管

在使用 HAT 時(shí),開發(fā)人員可以利用 Raspberry Pi Foundation、供應(yīng)商和其他 Pi 社區(qū)成員提供的諸多軟件工具。例如,Raspberry Pi raspi-gpio 工具使開發(fā)人員可以查看 GPIO 的狀態(tài)并修改其行為。程序員還可以使用該工具的開源 C 代碼作為構(gòu)建自己的 GPIO 控制軟件例程的模型。

開發(fā)人員還可以找到用于更高級(jí)語言(如 Python)的 GPIO 庫。利用 RPi.GPIO Python 模塊,開發(fā)人員可以使用調(diào)用功能,于引腳層面控制 GPIO 函數(shù)的各個(gè)方面,例如使用 GPIO.input(channel) 讀取 GPIO 引腳的值,以及使用 GPIO.output(channel, state) 將指定的 GPIO 引腳設(shè)置為指定狀態(tài)。

gpiozero Python 庫通過 MotionSensor、LightSensor、LED、Motor 等更高級(jí)的抽象來提升 GPIO 編程。使用這種方法,程序員可使用更直觀的命令來讀取基礎(chǔ)硬件的狀態(tài)或設(shè)定所需的狀態(tài),例如可打開 LED 的 led.on() 命令,從而處理底層硬件,依靠庫來管理基礎(chǔ)的 GPIO 事務(wù)。

利用 Grove

Pi HAT 接口標(biāo)準(zhǔn)為第三方開發(fā)人員提供了有吸引力的基礎(chǔ),但仍然局限于 Pi 平臺(tái)。相比之下,Grove 接口提供了跨硬件平臺(tái)的單一標(biāo)準(zhǔn)基礎(chǔ),吸引了更多的擴(kuò)展板開發(fā)人員。Seeed Technology Grove 入門套件提供了一個(gè)帶有多個(gè) Grove 兼容連接器的 Pi 兼容 HAT 板。與其他 HAT 一樣,Grove HAT 安裝在 Pi 3 40 引腳連接器上(圖 4)。

圖 4: Seeed Technology Grove 入門套件連接到 Pi 標(biāo)準(zhǔn)的 40 引腳連接器,使開發(fā)人員能夠使用各種 Grove 兼容的外設(shè)來增強(qiáng)其 Pi 系統(tǒng)。(圖片來源: Seeed Technology)

使用 Grove HAT,開發(fā)人員可保留 Pi 3 的簡單性和性能,同時(shí)還可訪問各種 Grove 兼容擴(kuò)展,包括致動(dòng)器、氣體傳感器、電機(jī)控制設(shè)備、揚(yáng)聲器、無線收發(fā)器等等。開發(fā)人員不是將擴(kuò)展功能直接插入到 Pi 3 40 引腳連接器中,而是將這些產(chǎn)品隨附的 Grove 連接器插進(jìn)安裝在 Grove HAT 頂部的其中一個(gè) Grove 插槽上(圖 4)。

開發(fā)人員可以找到 C、Java、Node.js、Python 以及其他類似的 Grove 軟件庫,將 Grove 功能插入其應(yīng)用程序。此時(shí),利用較高級(jí)別的例程,開發(fā)人員可以考慮收集模擬數(shù)據(jù)(列表 2),依靠庫中的低級(jí)例程來執(zhí)行相應(yīng)位級(jí)的事務(wù)(列表 3)。

# Tweet the temperature, light, and sound levels with our Raspberry Pi

# http://www.dexterindustries.com/GrovePi/projects-for-the-raspberry-pi/raspberry-pi-twitter-sensor-feed/

import twitter

import time

import grovepi

import math

# Connections

sound_sensor = 0 # port A0

light_sensor = 1 # port A1

temperature_sensor = 2 # port D2

led = 3 # port D3

intro_str = "DI Lab's"

# Connect to Twitter

api = twitter.Api(

consumer_key='YourKey',

consumer_secret='YourKey',

access_token_key='YourKey',

access_token_secret='YourKey'

)

grovepi.pinMode(led,"OUTPUT")

grovepi.analogWrite(led,255) #turn led to max to show readiness

while True:

# Error handling in case of problems communicating with the GrovePi

try:

# Get value from temperature sensor

[t,h] = grovepi.dht(temperature_sensor,0)

# Get value from light sensor

light_intensity = grovepi.analogRead(light_sensor)

# Give PWM output to LED

grovepi.analogWrite(led,light_intensity/4)

# Get sound level

sound_level = grovepi.analogRead(sound_sensor)

# Post a tweet

out_str ="%s Temp: %d C, Humidity: %d, Light: %d, Sound: %d" %(intro_str,t,h,light_intensity/10,sound_level)

print (out_str)

api.PostUpdate(out_str)

time.sleep(60)

except IOError:

print("Error")

except KeyboardInterrupt:

exit()

except:

print("Duplicate Tweet or Twitter Refusal")

列表 2: 開發(fā)人員可以使用 Pi 開發(fā)板、Grove 擴(kuò)展和 Grove 軟件庫來快速實(shí)現(xiàn)復(fù)雜的應(yīng)用程序,例如此示例,其模擬了將環(huán)境數(shù)據(jù)傳輸?shù)街鳈C(jī)服務(wù)(本例為 Twitter)的物聯(lián)網(wǎng)型過程。(代碼來源: Dexter Industries)

# Read analog value from Pin

def analogRead(pin):

write_i2c_block(address, aRead_cmd + [pin, unused, unused])

read_i2c_byte(address)

number = read_i2c_block(address)

return number[1] * 256 + number[2]

列表 3: Grove 軟件庫處理訪問硬件外設(shè)所需的位級(jí)操作,使開發(fā)人員可以使用更直觀的調(diào)用(如 analogRead(pin))進(jìn)行工作。(代碼來源: Dexter Industries)

簡化配置

過去,向系統(tǒng)添加新硬件在許多層面上都面臨挑戰(zhàn)。硬件工程師需要設(shè)計(jì)合適的機(jī)械和電氣接口。應(yīng)用程序開發(fā)人員需要找到能夠提供所需抽象類型的合適軟件庫,以便最大限度地提高生產(chǎn)力。不過,借由 Pi 標(biāo)準(zhǔn) 40 引腳連接器和上述現(xiàn)有軟件庫,Pi 3 及其生態(tài)系統(tǒng)則可消除這些挑戰(zhàn)。更進(jìn)一步而言,針對(duì)查找和加載硬件特定的板支持包 (BSP),Pi 架構(gòu)能省去開發(fā)人員近 ? 的額外工作。BSP 通常會(huì)提供完成 OS 和擴(kuò)展硬件之間接口所需的低級(jí)代碼。

Pi 架構(gòu)大大消除了 Pi 用戶安裝和配置 BSP 的不同硬件設(shè)備需求。相反,Pi 系統(tǒng)使用設(shè)備樹,可以提供加載模塊和管理資源分配的機(jī)制,從而避免多個(gè)軟件模塊之間競(jìng)爭(zhēng)相同資源的沖突。如果硬件設(shè)備需要專門的軟件,則 Pi 用戶只需要設(shè)置一些配置項(xiàng)。OS 內(nèi)核會(huì)自動(dòng)查找并加載與相應(yīng)硬件設(shè)備相關(guān)的模塊。例如,Pi 系統(tǒng)中的 I2C 功能默認(rèn)為禁用。開發(fā)人員只需編輯配置文件 config.txt,將一行文字取消注釋:

#dtparam=i2c_arm=on

Pi 平臺(tái)甚至簡化了這一步。當(dāng) Raspbian 首次啟動(dòng)時(shí),會(huì)運(yùn)行一個(gè)配置工具,向用戶顯示配置項(xiàng)目的菜單,包括啟用各種接口的功能。

對(duì)于依賴于基于 I2C 硬件的應(yīng)用,較高級(jí)別的庫(如前面提到的那些)可消除開發(fā)人員在 I2C 事務(wù)級(jí)別編碼的需要。當(dāng)開發(fā)人員確實(shí)需要開發(fā)用于專門的 I2C 操作的代碼時(shí),他們可以找到用于 Linux 的 I2C 工具等可以直接使用或者用作創(chuàng)建自定義 I2C 軟件示例的軟件。

嵌入式 Pi

對(duì)于想要將 Pi 系統(tǒng)嵌入到產(chǎn)品中的設(shè)計(jì)人員,最近推出的 CM3 提供了一個(gè)緊湊的直接替換型 Pi 解決方案(圖 5)?;谂c Pi 3 相同的四核處理器,CM3 還提供與 Pi 3 相同的功能和功能。此外,CM3 在電路板上采用 4 GB eMMC 閃存:而其他 Pi 開發(fā)板則提供了一個(gè)可用于添加外部閃存卡的 micro SD 插槽。(Raspberry Pi 還提供 CM3L – CM3 的“Lite”版本,其中包括該產(chǎn)品上除板載閃存之外的所有內(nèi)容。)

圖 5: Raspberry Pi 計(jì)算模塊 3(CM3)兼具 Pi Zero 的小尺寸和 Pi 3 的性能,同時(shí)可引出比這兩種產(chǎn)品更多的引腳。它還包括一個(gè) 4 GB 閃存模塊(在板的反面)。(圖片來源: Raspberry Pi Foundation)

CM3 摒棄了 Pi 3 和 Pi Zero 中使用的 40 引腳 IO 接口。相反,CM3 在板邊緣提供了 200 引腳 SODIMM(小型雙列直插式存儲(chǔ)器模塊)連接器的擴(kuò)展接口(圖 6)。事實(shí)上,整個(gè) CM3 板可與 DDR2 SODIMM 外形尺寸兼容,因此開發(fā)人員可以通過標(biāo)準(zhǔn)的 DDR2 SODIMM 連接器將 CM3 連接到目標(biāo)系統(tǒng)。

如何使用Raspberry Pi 3進(jìn)行快速開發(fā)

圖 6: Raspberry Pi CM3 并未采用其他 Pi 開發(fā)板上的 40 引腳接口,而是提供 200 引腳分線處理器和其他電路板元器件。(圖片來源: Raspberry Pi Foundation)

為簡化開發(fā),工程師可以利用 Raspberry Pi CM3 開發(fā)套件將 CM3 模塊與 Raspberry Pi 計(jì)算模塊 IO 板組合在一起。IO 板是一個(gè)簡單的開源電路板,帶有用于 CM3 的 DDR2 SODIMM 連接器以及斷開 200 引腳 CM3 接口的針座(圖 7)。另外,IO 板還提供了 Pi 3 開發(fā)板上提供的 HDMI、USB、相機(jī)和顯示器端口的連接器。

圖 7: CM3 開發(fā)套件中采用的 Raspberry Pi 計(jì)算模塊 IO 板提供了適用于 CM3 的 DR2 SODIMM 連接器,和適用于 200 引腳 CM3 接口的針座,并為 HDMI、USB、相機(jī)和顯示器端口提供了連接器。(圖片來源: Raspberry Pi Foundation)

實(shí)時(shí)應(yīng)用

CM3 兼具高性能和小尺寸等特點(diǎn),非常適合用作電子產(chǎn)品(如電視機(jī)、音頻設(shè)備和類似消費(fèi)產(chǎn)品)中的嵌入式系統(tǒng)。然而,對(duì)于實(shí)時(shí)應(yīng)用,開發(fā)人員需要考慮默認(rèn) Pi 平臺(tái)的一些限制。

最值得注意的是,Pi 系統(tǒng)并不采用實(shí)時(shí)時(shí)鐘 (RTC)。此外,Pi 3 和 CM3 中使用的 Cortex-A53(或 Pi Zero 中使用的 ARM1176)之類的內(nèi)核,并不包括定時(shí)傳感器讀取等實(shí)時(shí)事件所需的功能,例如 SysTick 系統(tǒng)定時(shí)器。SysTick 定時(shí)器是 ARM Cortex-M 系列等內(nèi)核的重要功能,專為確定性實(shí)時(shí)應(yīng)用而設(shè)計(jì)。

工程師可以使用 Maxim Integrated DS3231 等精密 RTC IC 輕松彌補(bǔ)這一不足。DS3231 RTC IC 在消費(fèi)溫度范圍內(nèi)具有 ±2ppm 的精度,可產(chǎn)生用于驅(qū)動(dòng)軟件系統(tǒng)定時(shí)器的方波輸出。此外,它提供了一個(gè)簡單的 I2C 接口,可用于讀取實(shí)時(shí)時(shí)鐘計(jì)數(shù)。開發(fā)人員可以使用基于之前提到的 I2C 工具包的 C 例程將 RTC 數(shù)據(jù)集成到其實(shí)時(shí)應(yīng)用程序中。

使用標(biāo)準(zhǔn) Pi 系統(tǒng)進(jìn)行實(shí)時(shí)應(yīng)用的另一個(gè)局限在于操作系統(tǒng)本身。針對(duì)通用應(yīng)用,典型的 Linux 發(fā)行版缺少可靠地監(jiān)視和控制實(shí)時(shí)流程所需的確定性響應(yīng)。事實(shí)上,在 Linux 的默認(rèn)操作模式中,即使是非常高優(yōu)先級(jí)的線程也可能無法搶占內(nèi)核。因此,如果高優(yōu)先級(jí)例程嘗試讀取傳感器、控制電機(jī)等,則“實(shí)時(shí)”例程可能需要等待不確定的時(shí)長。

幸運(yùn)的是,Linux 內(nèi)核包括一個(gè)配置選項(xiàng),名為 CONFIG_PREEMPT,就可以解決這個(gè)限制。此選項(xiàng)允許高優(yōu)先級(jí)例程搶占內(nèi)核,除內(nèi)核正在執(zhí)行螺旋鎖中的內(nèi)核線程等特殊情況外(受阻以等待資源)。在實(shí)踐中,確保可以搶占內(nèi)核,包括修改此配置項(xiàng)以外的其他步驟。開放源代碼社區(qū)已經(jīng)使用發(fā)布的 CONFIG_PREEMPT_RT 補(bǔ)丁集將 Linux 轉(zhuǎn)換為完全可預(yù)占的內(nèi)核。由于 Raspberry Pi Foundation 和 Pi 社區(qū)成員提供的資料齊全的程序,因此,這個(gè)補(bǔ)丁程序就會(huì)比較簡單又不直接,并且相對(duì)常規(guī)。

總結(jié)

盡管最近對(duì)已經(jīng)證明很難掌握的 Raspberry Pi Zero 開發(fā)板的關(guān)注很高,但是 Raspberry Pi 3 和 CM3 為工程師提供了一個(gè)更有吸引力的創(chuàng)建高性能系統(tǒng)的平臺(tái)。Pi 3 和 CM3 每個(gè)都具有四核處理器和兩倍于單核 Pi Zero 的可用板載 RAM。

就其本身而言,Pi 3 提供了一個(gè)更為強(qiáng)大的計(jì)算基礎(chǔ),可以利用大量符合 Pi 標(biāo)準(zhǔn) 40 引腳 GPIO 接口的可用擴(kuò)展板。使用 CM3,開發(fā)人員即可獲得兼具 Pi Zero 的小尺寸以及 Pi 3 的性能優(yōu)勢(shì)的計(jì)算基礎(chǔ)。使用這些最新的 Pi 開發(fā)板、硬件擴(kuò)展和現(xiàn)有的軟件庫,開發(fā)人員可以快速實(shí)施定制系統(tǒng),從而滿足不同的應(yīng)用需求。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228810
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6684

    瀏覽量

    123140
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3231

    瀏覽量

    114326
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Banana Pi M5 與 Raspberry Pi 4 – 基準(zhǔn)測(cè)試

    Banana Pi M5 基準(zhǔn)測(cè)試已成為我的網(wǎng)站上最受歡迎的作品之一,而且似乎人們真正想看到的是它與其 Raspberry 口味的表親之間的直接比較,所以這里就是 Banana Pi M5 與
    的頭像 發(fā)表于 10-28 10:28 ?215次閱讀
    Banana <b class='flag-5'>Pi</b> M5 與 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4 – 基準(zhǔn)測(cè)試

    Raspberry Pi CM5 還要幾周才能上市嗎?

    如果您經(jīng)常逛電子產(chǎn)品商店/網(wǎng)站,您可能會(huì)偶然發(fā)現(xiàn)一些您沒想到的產(chǎn)品。今天在 Mouser 上,我們似乎有一堆 Raspberry Pi CM5 配件。很快 TM 就會(huì)有?
    的頭像 發(fā)表于 10-28 10:26 ?145次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> CM5 還要幾周才能上市嗎?

    Banana Pi BPI-R3路由器開發(fā)板運(yùn)行 OrayOS物聯(lián)網(wǎng)系統(tǒng)

    近日,Banana PI開發(fā)板宣布與貝銳達(dá)成戰(zhàn)略合作,貝銳OrayOS現(xiàn)已成功適配Banana PI的BPI-R3型號(hào),并計(jì)劃進(jìn)一步擴(kuò)展硬件支持,包括目前Banana
    的頭像 發(fā)表于 10-23 15:49 ?286次閱讀
    Banana <b class='flag-5'>Pi</b> BPI-R<b class='flag-5'>3</b>路由器<b class='flag-5'>開發(fā)</b>板運(yùn)行 OrayOS物聯(lián)網(wǎng)系統(tǒng)

    e絡(luò)盟開售Raspberry Pi新款產(chǎn)品

    安富利旗下全球電子與工業(yè)系統(tǒng)設(shè)計(jì)、維護(hù)和維修產(chǎn)品及技術(shù)分銷商 e絡(luò)盟 現(xiàn)為客戶供應(yīng)小巧、快速、多功能的 Raspberry Pi Pico 2。
    的頭像 發(fā)表于 10-12 16:57 ?581次閱讀

    e絡(luò)盟開售Raspberry Pi AI 攝像頭

    安富利旗下全球電子元器件產(chǎn)品與解決方案分銷商e絡(luò)盟開售全新 Raspberry Pi AI攝像頭,這是 Raspberry Pi 的最新產(chǎn)品,擴(kuò)大了 e絡(luò)盟的人工智能設(shè)備范圍。
    的頭像 發(fā)表于 10-10 10:09 ?161次閱讀
    e絡(luò)盟開售<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> AI 攝像頭

    e絡(luò)盟發(fā)售功能強(qiáng)大的入門級(jí) Raspberry Pi 5 2GB

    安富利旗下全球電子元器件產(chǎn)品與解決方案分銷商e絡(luò)盟日前開售極具性價(jià)比的全新 Raspberry Pi 5 2GB。
    的頭像 發(fā)表于 09-02 10:39 ?254次閱讀
    e絡(luò)盟發(fā)售功能強(qiáng)大的入門級(jí) <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 2GB

    Raspberry Pi 5開發(fā)實(shí)戰(zhàn):家庭多媒體和控制中心搭建

    自問世以來,樹莓派(Raspberry Pi)已有超過十年的發(fā)展歷程。它在中國擁有一個(gè)活躍的社區(qū)和成熟的生態(tài)系統(tǒng)。無論你想用樹莓派實(shí)現(xiàn)何種創(chuàng)意,市面上都能找到豐富的配件。遇到難題時(shí),網(wǎng)上的解答資源也十分充足。長期以來,樹莓派一直是DIY愛好者、教育者和
    的頭像 發(fā)表于 08-08 10:09 ?2009次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5<b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn):家庭多媒體和控制中心搭建

    名單公布!樹莓派5(Raspberry Pi 5)開發(fā)板免費(fèi)試用!?。?/a>

    名單公布: jinsheng、華仔stm32 樹莓派5(Raspberry Pi 5)新主板采用2.4GHz四核64位Arm Cortex-A76處理器,擁有512KB的L2緩存和2MB的共享L3
    發(fā)表于 06-27 15:40

    如何將CYKIT-028 TFT模塊與Raspberry Pi和ESP32微控制器結(jié)合使用?

    我目前正在探索如何將 CYKIT-028 TFT 模塊與 Raspberry Pi 和 ESP32 微控制器結(jié)合使用。 不過,在選擇集成開發(fā)環(huán)境(IDE)和使用 PSOC Creator 的必要性
    發(fā)表于 05-21 07:36

    5分鐘內(nèi)將Raspberry Pi Pico變成簡單的示波器+波形發(fā)生器

    5 分鐘內(nèi)將 Raspberry Pi Pico(或任何 RP2040 板)變成簡單的示波器+波形發(fā)生器。
    的頭像 發(fā)表于 03-04 09:14 ?1861次閱讀
    5分鐘內(nèi)將<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico變成簡單的示波器+波形發(fā)生器

    使用Raspberry Pi和Python進(jìn)行電池快速充電

    然而,需要多個(gè)單元的復(fù)雜系統(tǒng)的評(píng)估相應(yīng)地也更加復(fù)雜。復(fù)雜的系統(tǒng)可能有多個(gè)需要表征的設(shè)備。開發(fā)人員需要編寫一些軟件代碼來讀取不同系統(tǒng)部分生成的信號(hào),分析它們并采取行動(dòng)。考慮使用 MAX17330 的并聯(lián)電池快速充電系統(tǒng)中的兩節(jié) Li+ 電池。
    發(fā)表于 01-23 15:18 ?332次閱讀
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和Python<b class='flag-5'>進(jìn)行</b>電池<b class='flag-5'>快速</b>充電

    震驚!居然有人給 Raspberry Pi 5 做 X 射線!

    ? Jeff Geerling 會(huì)做一些莫名其妙的怪事,比如用信鴿來對(duì)抗網(wǎng)速,不過這也是我們喜歡他視頻的原因。最近,杰夫?qū)?Raspberry Pi 5 進(jìn)行了 X 光透視,揭示了
    的頭像 發(fā)表于 01-10 16:42 ?443次閱讀
    震驚!居然有人給 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 做 X 射線!

    搭載 樹莓派5 Raspberry Pi 5 全新的HMI發(fā)布!

    多年來,上海晶珩不斷推陳出新,在成功推出一系列基于 Raspberry Pi CM4 的平板電腦后,現(xiàn)推出了首個(gè)搭載 Raspberry Pi 5 的平板電腦系列HMI3010。其中,
    的頭像 發(fā)表于 12-28 11:33 ?795次閱讀
    搭載 樹莓派5 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 全新的HMI發(fā)布!

    基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目

    今天小拜年給大家?guī)淼氖莵碜悦绹腗aker Rob Lauer的基于樹莓派5的蜂窩網(wǎng)絡(luò)項(xiàng)目,了解如何為新的 Raspberry Pi 5 單板計(jì)算機(jī)添加低帶寬蜂窩連接。
    的頭像 發(fā)表于 12-25 10:55 ?1190次閱讀
    基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目

    RP2040和Raspberry Pi的區(qū)別

    作為 Raspberry Pi 基金會(huì)推出的首款微控制器產(chǎn)品,RP2040 標(biāo)志著以單板計(jì)算機(jī) (SBC) 而聞名的 Raspberry Pi 基金會(huì)的新方向。RP2040 將
    的頭像 發(fā)表于 11-16 17:37 ?874次閱讀
    RP2040和<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的區(qū)別