找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9807|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于STM32的FREERTOS應(yīng)用的幾個(gè)常見問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2016-6-28 03:32 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
1、怎樣將 FreeRTOS 移植到不同的Cortex-M 內(nèi)核?
答:若需將 FreeRTOS 移植到正確的Cortex-M 產(chǎn)品,您必須從正確的目錄導(dǎo)入 “port.c”文件。例如,若微控制器是帶有IAR 工具的 Cortex-M0 內(nèi)核,則您必須從“FreeRTOS\Source\portable\IAR\ARM_CM0” 獲取 port.c。

2、FreeRTOS 使用需要ROM/RAM?
答:這取決于您的編譯器、代碼架構(gòu),以及RTOS 內(nèi)核配置。一般來(lái)說(shuō), RTOS 內(nèi)核本身需要大約 5到 10 K 字節(jié) ROM 空間。
如果創(chuàng)建的線程或隊(duì)列數(shù)增加,RAM 使用量就會(huì)上升。

3、怎樣設(shè)置 CPU 時(shí)鐘?
答:CPU 時(shí)鐘由 FreeRTOSConfig.h 中的 configCPU_CLOCK_HZ 定義,比如在STM32CubeF4固件內(nèi)它由 SystemCoreClock 提供,表示 HCLK 時(shí)鐘 (AHB 總線),通過(guò)調(diào)用SystemClock_Config() 函數(shù)配置 RCC 時(shí)鐘時(shí)會(huì)設(shè)置此值。

4、怎樣設(shè)置中斷優(yōu)先級(jí)?
答:任何使用 RTOS API 函數(shù)的中斷服務(wù)程序,其優(yōu)先級(jí)必須手動(dòng)設(shè)置為大于等于FreeRTOSConfig.h 文件中configMAX_SYSCALL_INTERRUPT_PRIORITY 的設(shè)置值。這確保其中斷邏輯優(yōu)先級(jí)低于等于configMAX_SYSCALL_INTERRUPT_PRIORITY設(shè)置的優(yōu)先級(jí)。

5、怎樣使用非 SysTick 時(shí)鐘生成時(shí)間片中斷?
答:用戶可選擇性地自己提供時(shí)間片中斷源,方法是使用非SysTick 的定時(shí)器生成中斷:
? 提供 vPortSetupTimerInterrupt() 的實(shí)現(xiàn),它會(huì)以FreeRTOSConfig.h文件中定義的configTICK_RATE_HZ常量指定的頻率產(chǎn)生中斷。
? 將 xPortSysTickHandler() 配置為定時(shí)器中斷的處理程序,確保xPortSysTickHandler()在FreeRTOSConfig.h 中未映射至 SysTick_Handler(),或在 port.c 中未被命名為SysTick_Handler()。

6、怎樣啟用無(wú)時(shí)間片空閑模式?
答:FreeRTOS 無(wú)時(shí)間片模式 (低功耗)通過(guò)進(jìn)入睡眠模式并停止周期性的時(shí)間片中斷來(lái)降低MCU 功耗。在 FreeRTOSConfig.h 中,將 configUSE_TICKLESS_IDLE 定義為 1,即可啟用此功能。
當(dāng)使用非 SysTick 定時(shí)器生成時(shí)間片中斷時(shí),也可啟用無(wú)時(shí)間片空閑模式。用戶必須添加下列動(dòng)作至上一個(gè)問(wèn)題所述內(nèi)容:
? 在 FreeRTOSConfig.h 中,將 configUSE_TICKLESS_IDLE 設(shè)為 2。
? 根據(jù) FreeRTOS 相關(guān)文檔說(shuō)明,定義portSUPPRESS_TICKS_AND_SLEEP()。

7、在做基于STM32的FREERTOS應(yīng)用中出現(xiàn)比較頻繁的問(wèn)題是什么?
答:應(yīng)屬STACK溢出和中斷優(yōu)先級(jí)相關(guān)的問(wèn)題。

以為內(nèi)容取自于ST官方的一篇關(guān)于具有RTOS的STM32Cube開發(fā)應(yīng)用的用戶手冊(cè)UM1722,該手冊(cè)較為詳細(xì)了介紹了如下內(nèi)容。本文內(nèi)容只是其中的FAQ部分。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表