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

標(biāo)題: FreeRTOS中英文使用教程下載(實時內(nèi)核實用指南) [打印本頁]

作者: 隨心流動    時間: 2018-9-30 09:19
標(biāo)題: FreeRTOS中英文使用教程下載(實時內(nèi)核實用指南)
FreeRTOS中文使用教程(附件里面還有英文版):

xQueueCreate() API 函數(shù)
隊列在使用前必須先被創(chuàng)建。
隊列由聲明為 xQueueHandle 的變量進行引用。xQueueCreate()用于創(chuàng)建一個隊列,并返回一個xQueueHandle 句柄以便于對其創(chuàng)建的隊列進行引用。
當(dāng)創(chuàng)建隊列時,F(xiàn)reeRTOS從堆空間中分配內(nèi)存空間。分配的空間用于存儲隊列數(shù)據(jù)結(jié)構(gòu)本身以及隊列中包含的數(shù)據(jù)單元。如果內(nèi)存堆中沒有足夠的空間來創(chuàng)建隊列,xQueueCreate()將返回NULL。第五章會有關(guān)于內(nèi)存堆管理的更多信息。

6.3 其它常見錯誤
問題現(xiàn)象:在一個 Demo應(yīng)用程序中增加了一個簡單的任務(wù),導(dǎo)致應(yīng)用程序崩潰 任務(wù)創(chuàng)建時需要在內(nèi)存堆中分配空間。許多 Demo 應(yīng)用程序定義的堆空間大小只夠用于創(chuàng)建 Demo 任務(wù)——所以當(dāng)任務(wù)創(chuàng)建完成后,就沒有足夠的剩余空間來增加其它的任務(wù),隊列或信號量。
空閑任務(wù)是在 vTaskStartScheduler()調(diào)用中自動創(chuàng)建的。如果由于內(nèi)存不足而無法創(chuàng)建空閑任務(wù),vTaskStartScheduler()會直接返回。在調(diào)用 vTaskStartScheduler()后加上一條空循環(huán)[for(;;)]可以使這種錯誤更加容易調(diào)試。
如果要添加更多的任務(wù),可以增加內(nèi)存堆空間大小,或是刪掉一些已存在的 Demo任務(wù)。

問題現(xiàn)象:在中斷中調(diào)用一個 API 函數(shù),導(dǎo)致應(yīng)用程序崩潰
除了具有后綴為”FromISR”函數(shù)名的 API 函數(shù),千萬不要在中斷服務(wù)例程中調(diào)用其它 API 函數(shù)。

問題現(xiàn)象:有時候應(yīng)用程序會在中斷服務(wù)例程中崩潰
需要做的第一件事是檢查中斷是否導(dǎo)致了棧溢出。 在不同的移植平臺和不同的編譯器上,中斷的定義和使用方法是不盡相同的——所以,需要做的第二件事是檢查在中斷服務(wù)例程中使用的語法,宏和調(diào)用約定是否符合Demo程序的文檔描述,以及是否和Demp程序中提供的中斷服務(wù)例程范例相同。 如果應(yīng)用程序工作在 Cotex M3 上,需要確定給中斷指派優(yōu)先級時,使用低優(yōu)先級號數(shù)值表示邏輯上的高優(yōu)先級中斷,因為這種方式不太直觀,所以很容易被忘記。一個比較常見的錯誤就是,在優(yōu)先級高于configMAX_SYSCALL_INTERRUPT_PRIORITY的中斷中調(diào)用了 FreeRTOS API 函數(shù)。

問題現(xiàn)象:在啟動第一個任務(wù)時,調(diào)度器就崩潰了
如果使用的是 ARM7,那么請確定調(diào)用 vTaskStartScheduler()時處理器處于管理模式(Supervisor mode)。最簡單的方式就是在 main()之前的 C啟動態(tài)碼中將處理器設(shè)置為管理模式。ARM7 的 Demo應(yīng)用程序就是這么做的。 如果處理器不在管理模式下,調(diào)度器是無法啟動的。

問題現(xiàn)象:臨界區(qū)無法正確嵌套
除了 taskENTER_CRITICA()和 taskEXIT_CRITICAL(),千萬不要在其它地方修改控制器的中斷使能位或優(yōu)先級標(biāo)志。這兩個宏維護了一個嵌套深度計數(shù),所以只有當(dāng)所有的嵌套調(diào)用都退出后計數(shù)值才會為0,也才會使能中斷。

問題現(xiàn)象:在調(diào)度器啟動前應(yīng)用程序就崩潰了
如果一個中斷會產(chǎn)生上下文切換,則這個中斷不能在調(diào)度器啟動之前使能。這同樣適用于那些需要讀寫隊列或信號量的中斷。在調(diào)度器啟動之前,不能進行上下文切換。  還有一些 API 函數(shù)不能在調(diào)度器啟動之前調(diào)用。在調(diào)用 vTaskStartScheduler()之前,最好是限定只使用創(chuàng)建任務(wù),隊列和信號量的API 函數(shù)。

問題現(xiàn)象:在調(diào)度器掛起時調(diào)用 API 函數(shù),導(dǎo)致應(yīng)用程序崩潰
調(diào)用 vTaskSuspendAll()使得調(diào)度器掛起,而喚醒調(diào)度器調(diào)用xTaskResumeAll()。  千萬不要在調(diào)度器掛起時調(diào)用其它 API 函數(shù)。

問題現(xiàn)象:函數(shù)原型 pxPortInitialiseStack()導(dǎo)致編譯失敗
每種移植都需要定義一個對應(yīng)的宏,以把正確的內(nèi)核頭文件加入到工程中。如果編譯函數(shù)原型 pxPortInitialiseStack()時出錯,這種現(xiàn)象基本上可以確定是因為沒有正確定義相應(yīng)的宏。請參見附錄 4以獲得更多信息。
可以基本相應(yīng)平臺的 Demo 工程建立新的應(yīng)用程序。這種方式就不用擔(dān)心沒有包含正確的文件,也不必擔(dān)心沒有正確地配置編譯器選項。

0.png (144.76 KB, 下載次數(shù): 192)

0.png

0.png (133.65 KB, 下載次數(shù): 185)

0.png

0.png (10.38 KB, 下載次數(shù): 157)

0.png

2-FreeRTOS英文使用教程.pdf

1.3 MB, 下載次數(shù): 77, 下載積分: 黑幣 -5

1-FreeRTOS中文使用教程.pdf

2.9 MB, 下載次數(shù): 188, 下載積分: 黑幣 -5


作者: 小坤12    時間: 2019-5-20 17:59
謝謝分享,哈哈
作者: faver    時間: 2019-5-21 15:27
非常好的資料
作者: waerdeng    時間: 2019-11-1 17:22
非常好學(xué)習(xí)啦,謝謝分享的資料。
作者: zsf_njust    時間: 2019-11-6 11:38
非常好的學(xué)習(xí)材料,感謝
作者: hellowC8051    時間: 2019-11-28 14:07
感謝分享
作者: yxfaigz    時間: 2020-3-19 01:04
感謝分享。正在學(xué)習(xí)中。
作者: ZHAOBAO511    時間: 2021-12-14 17:56
請教里面的調(diào)試器是啥?




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产吃瓜黑料一区二区 | 五月天婷婷网站 | 日韩特级片 | 久久精品久久久久 | 国产精品99久久久久久久久 | 欧美黄色一级大片 | 黄色网av | 99精品网 | 在线观看不卡av | 国产黄色av网站 | 久久国产一区 | 亚洲视频免费 | 久久久网 | 一区二区三区在线免费观看 | 激情婷婷丁香 | 欧美操 | 性做久久久久久久免费看 | 欧美日韩视频在线 | 久久精品一区二区国产 | 日韩视频免费 | 亚洲午夜久久 | 人与拘一级a毛片 | 中文字幕久久久 | 成人超碰在线 | 久久精品国产一区 | 日韩福利片 | 免费国产黄色 | 黄色亚洲 | 免费播放av | 波多野结衣在线观看一区二区 | 一区在线观看视频 | 91福利在线视频 | 欧美国产日韩一区二区 | 午夜在线视频 | 欧美日韩一区二区三区视频 | 欧美一区视频 | 亚洲视频在线一区 | 日日爱影视| 亚洲一级免费视频 | 欧美一区二区三区的 | 日本国产视频 |