国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

線程棧分配惹的禍?系統異常這樣解決!

RT-Thread官方賬號 ? 2024-10-31 08:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式操作系統通常被認為有一定的學習門檻,為幫助嵌入式工程師降低RTOS的使用難度,RT-Thread提供了文檔教學中心、視頻中心、論壇交流等多種支持。然而在實際項目中,開發者們仍可能會遇到各種挑戰,尤其當項目規模擴大、代碼復雜度增加時,各種“難以捉摸”的bug便會頻繁出現,令工程師們一頭霧水,不知從何入手。這些問題可能涉及內存管理、任務調度、棧溢出等復雜內容。

這些問題是否也在你的項目中時常困擾著你?

51ac409a-971c-11ef-8084-92fbcf53809c.png

系統莫名其妙進入Hardfault

系統運行過程線程異常掛起

不正確使用內核API導致系統異常

系統運行過程發生斷言

不清楚某些系統組件或軟件包的使用方法

線程棧分配不合理導致系統異常

應用代碼不規范導致系統異常

如何修改Scons腳本,Kconfig...

...

作為初學者非常容易遇到的一個問題是:線程棧分配不合理導致系統異常

1

提出問題

剛開始接觸RT-Thread的小伙伴在創建線程時,常常會遇到下述問題:

51d1a9ac-971c-11ef-8084-92fbcf53809c.png

2

分析問題

從終端輸出的信息我們可以獲取到的關鍵信息有

1) 在發生異常的線程為entry

51dd8970-971c-11ef-8084-92fbcf53809c.png

2) 該線程的棧空間為0x100

51eac478-971c-11ef-8084-92fbcf53809c.png

3) SCB_CFSR_UFSR:0x01 UNDEFINSTR

UNDEFINSTR通常是PC指針指向非法地址執行指令導致,通過1)點可以定位到問題發生在entry線程,第2)點可以看出entry線程的棧空間有點小,因此初步定位線程棧溢出。

3

解決問題

最終找到問題線程棧太小導致線程棧溢出,同時回到線程入口函數可以發現在線程中定義了一個很大的數組導致了線程棧的溢出,進一步證明了上述的問題。

解決問題就是依據經驗和工具進行分析嘗試的一個過程。

1)將線程棧改大一些,entry線程正常運行。

2)使能內核的堆棧溢出檢查,運行輸出msh >thread:entry stack overflow

最終找到問題線程棧太小導致線程棧溢出,同時回到線程入口函數可以發現在線程中定義了一個很大的數組導致了線程棧的溢出,進一步證明了上述的問題。

RT-Thread開班啦,技術專家團隊手把手帶您上手RT-Thread嵌入式操作系統,我們開放了為期三天的嵌入式操作系統專業培訓班!本次培訓將會深入講解RT-Thread嵌入式實時操作系統的核心概念、實戰技巧、應用場景、嵌入式開發疑難雜癥分析與答疑!

培訓時間

2024/11/9-2024/11/11(3天時間)

本次培訓是付費培訓,培訓費用:2918元 - 含稅 (3日),提供培訓手冊+硬件平臺。培訓費用同時也包含午餐。

培訓內容

時間

培訓內容

2024/11/9

RTOS內核

1. 內核原理

1.1 RT-Thread系統啟動流程

1.2 RT-Thread線程與線程切換學習

1.3 RT-Thread線程與中斷切換學習

2. 應用編程

2.1 RT-Thread多線程編程

(1)RT-Thread多線程搶占學習

(2)RT-Thread多線程輪詢學習

(3)RT-Thread多線程調試實踐

2.2 RT-Thread線程同步

(1)RT-Thread信號量原理,調試與應用實踐

(2)RT-Thread互斥量原理,調試與應用實踐

(3)RT-Thread事件集原理,調試與應用實踐

2.3 RT-Thread線程通信

(1)RT-Thread消息郵箱原理,調試與應用實踐

(2)RT-Thread消息隊列原理,調試與應用實踐

3. RT-Thread動態內存管理

3.1 RT-Thread動態內存管理原理介紹

3.2 RT-Thread動態內存應用實踐

2024/11/10

RT-Thread I/O設備驅動

1. RT-Thread構建與配置系統

1.1 Kconfig配置系統

(1) Kconfig工作機制

(2) Kconfig語法介紹

1.2 Scons構建系統

(1) Scons語法介紹

(2) Scons使用示例

1.3 Env工具

(1) Env常用命令使用示例

2. RT-Thread I/O設備框架

2.1 I/O設備框架原理

(1) 原廠驅動庫、RTT HAL庫驅動、RTT驅動框架關系介紹

2.2 I/O設備框架應用實踐

(1) 虛擬驅動移植實戰

3. RT-Thread 設備驅動框架

3.1 PIN設備

(1) PIN設備驅動框架原理

(2) PIN設備驅動應用實踐

3.2 UART設備

(1) UART設備驅動框架原理

(2) UART設備驅動應用實踐

3.3 I2C設備

(1) I2C設備驅動框架原理

(2) I2C設備驅動應用實踐

4. RT-Thread設備驅動實戰

4.1 串口設備組件

(1) 串口類設備組件介紹

(2) 串口設備驅動應用實踐

4.2 I2C設備驅動

(1) I2C Tools軟件包介紹

(2) I2C設備驅動應用實踐

2024/11/11

RT-Thread組件與系統問題排查實踐

1. 系統常見問題排查

(1)基礎問題排查方法與實踐示例

(2)內存泄漏問題排查方法與實踐示例

(3)棧溢出問題排查方法與實踐示例

(4)線程死鎖問題排查方法與實踐示例

(5)HardFault問題排查方法與實踐示例

2. 組件分析與實踐

(1)MQTT軟件包原理與應用實踐

(2)SAL抽象層原理與應用實踐

(3)傳感器軟件包應用實踐

(4)其他相關軟件包應用實踐

3. 綜合實踐

綜合所學內容,手把手從零實現一個IoT設備。

培訓地點

深圳福田區天安數碼城天吉大廈AB座7樓7B2知了會議中心M6會議室

地鐵:1、7、9、11號線到達車公廟地鐵站,可從G口出,右轉步行100米左右到達知了會議中心。

培訓證書

培訓結束后通過考核的將可以獲得RT-Thread出具的結業證書和中國電子學會出具的職業技能證書-RT-Thread操作系統應用開發

5254a974-971c-11ef-8084-92fbcf53809c.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5198

    文章

    20442

    瀏覽量

    333986
  • 線程
    +關注

    關注

    0

    文章

    509

    瀏覽量

    20826
  • RT-Thread
    +關注

    關注

    32

    文章

    1613

    瀏覽量

    44868
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【瑞薩FPB-RA6E2試用】【瑞薩RA × Zephyr開發板評測】+線程創建及測試

    線程可立即打斷低優先級線程。 時間片輪轉法 ,即同等優先級的線程分配以固定的時間片輪流執行。 較少見的協作式調度法, 其線程會主動讓出CP
    發表于 02-03 21:33

    Cortex-M3工作模式及異常

    一、工作模式 線程模式和手柄模式。 當處理器處在線程狀態下時,既可以使用特權級,也可以使用用戶級;另一方面, handler模式總是特權級的。在復位后,處理器進入線程模式+特權級。 二、異常
    發表于 01-20 08:24

    【瑞薩FPB-RA6E2試用】【瑞薩FPB-RA6E2】RTOS(Real-Time Operating System,實時操作系統)《線程》個人理解及項目實現

    【瑞薩FPB-RA6E2】RTOS(Real-Time Operating System,實時操作系統)《線程》個人理解及項目實現 1. RTOS(Real-Time Operating
    發表于 01-14 11:50

    摩爾線程在MDC 2025重磅發布全創新成果

    12月20日,在首屆MUSA開發者大會上,摩爾線程創始人、董事長兼CEO張建中發表主題演講,系統展示了以自主MUSA統一架構為核心的全創新成果,全面展現公司在技術和生態上的關鍵突破與前瞻布局。
    的頭像 發表于 12-22 18:04 ?1450次閱讀

    使用setjmp及longjmp函數處理異常

    使用setjmp和longjmp函數:這是一種用于實現非局部跳轉的方法,就是在程序中設置一個跳轉點,并在某些情況下跳轉到該跳轉點,從而繞過中間的一些代碼或函數。這樣可以在某些情況下模擬異常處理的效果
    發表于 12-11 08:00

    線程系統

    線程系統的事件響應也是在中斷中完成的,但事件的處理是在線程中完成的。在多線程系統中,線程跟中斷
    發表于 12-08 07:55

    堆和的區別

    一個由C/C 編譯的程序占用的內存分為以下幾個部分: 區(stack):由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的。 堆區(heap):一般由
    的頭像 發表于 11-27 18:13 ?1078次閱讀

    rt_sem_take卡住導致線程無法正常運行怎么解決?

    串口接收數據后release信號量,接收線程take sem,高頻大數據量接受數據,運行一段時間后接受線程suspend,但是release正常釋放 出現問題問題后查看信息如下: 接受線程為suspend,sem的值一直在增
    發表于 09-23 08:17

    rtthread線程出現異常了,有沒有什么鉤子函數能夠定義用戶操作?

    線程出現異常了,有沒有什么鉤子函數能夠定義用戶操作????
    發表于 09-18 06:36

    線程刪除時遇到斷言,是什么原因導致的?

    在一個線程中調用線程刪除函數刪除另外一個線程,這2個線程的優先級是相等的,被刪除的線程也是動態創建的,出現了下面的斷言內容,一般是什么情況導
    發表于 09-12 06:08

    摩爾線程吳慶詳解 MUSA 軟件:以技術創新釋放 KUAE 集群潛能,引領 GPU 計算新高度?

    的分享。GPU 計算軟件開發總監吳慶登上講臺,發表了題為《摩爾線程 MUSA 軟件助力 KUAE 集群釋放無限潛能》的演講。他從專業視角出發,為在場聽眾深入剖析了 MUSA 軟件在驅動 KUAE 集群高效運轉方面的核心技術與
    的頭像 發表于 07-28 13:47 ?6078次閱讀
    摩爾<b class='flag-5'>線程</b>吳慶詳解 MUSA 軟件<b class='flag-5'>棧</b>:以技術創新釋放 KUAE 集群潛能,引領 GPU 計算新高度?

    摩爾線程亮相WAIC 2025:以“AI工廠”理念驅動算力進化,全AI應用賦能千行百業

    7月26日-29日,2025世界人工智能大會(WAIC)在上海舉辦。摩爾線程攜以全功能GPU為核心的“云邊端”全AI產品和解決方案精彩亮相,并首次提出“AI工廠”理念,旨在為AGI時代打造生產先進
    的頭像 發表于 07-28 11:34 ?2100次閱讀
    摩爾<b class='flag-5'>線程</b>亮相WAIC 2025:以“AI工廠”理念驅動算力進化,全<b class='flag-5'>棧</b>AI應用賦能千行百業

    UVC+MSC實現中MSC線程未運行的原因?

    apiRetStatus = CY_U3P_SUCCESS; /* 為線程分配內存并創建線程 */ uvc_ptr = CyU3PMemAlloc ( UVC_APP_THREAD_STACK
    發表于 07-16 07:08

    深度剖析 RT-Thread 線程調度流程

    rt_system_scheduler_start:調度系統第一個線程rt_hw_context_switch_to:初始化上下文切換環境,觸發PendSV異常first_thread:系統
    的頭像 發表于 06-25 18:24 ?1768次閱讀
    深度剖析 RT-Thread <b class='flag-5'>線程</b>調度流程

    main線程大小設置成2048的時候rt_memset導致hardfault,為什么?

    main線程大小設置成2048的時候rt_memset導致hardfault,改成512就不會,這是為什么
    發表于 06-10 06:04