程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 熟悉RT-Thread的軟硬件環境【RT-Thread學習筆記 1】,rt-thread學習筆記

熟悉RT-Thread的軟硬件環境【RT-Thread學習筆記 1】,rt-thread學習筆記

編輯:關於C語言

熟悉RT-Thread的軟硬件環境【RT-Thread學習筆記 1】,rt-thread學習筆記


軟件環境:Win7+MDK4.7.2

硬件環境:STM32F4Discovery

所用OS代碼:RT-Thread2.0.0 beta 下載地址: https://github.com/RT-Thread/rt-thread/archive/v2.0.0_beta.zip

                 解壓縮後,使用\rt-thread-2.0.0_beta\bsp\stm32f40x\project.uvproj 進行實驗。

                 沒有使用scons和python。不大需要這個東西。

 

今天只熟悉一下軟件環境:

1、RT進入main之前

 

與普通的MDK-STM32程序一樣。會使用system_stm32f4xx.c文件中的SystemInit函數初始化時鐘。

2、main函數位於startup.c文件中。進行兩個工作

 

系統開始前,rt_hw_interrupt_disable關閉所有中斷。

之後使用rtthread_startup啟動RTThread

3、函數rtthread_startup()完成的工作:

 

1、調用函數rt_hw_board_init 完成板子初始化工作

2、顯示版本信息:rt_show_version

3、初始化系統滴答:rt_system_tick_init

4、系統內核對象初始化:rt_system_object_init

5、定時器初始化:rt_system_timer_init

6、系統堆棧初始化rt_system_heap_init

7、任務調度器初始化:rt_system_scheduler_init

8、rt_application_init //加入用戶自定義的任務

9、FINSH模塊初始化 ,

10、定時器線程初始化:rt_system_timer_thread_init

11、空閒任務初始化rt_thread_idle_init

12、開始任務調度,OS接管MCU:rt_system_scheduler_start

任務調度開始之後,OS就算是啟動好了。之後的東西都是在OS的管理下運行了。

4、在RTT示例工程中添加外設驅動的方法

 

驅動頭文件加入board.h


國產RTOS,比如都江堰實時操作系統?RT-Thread?等,除了這兩個,還有其他的?有專門做RTOS的公司?

RT-Thread RTOS   
這是一款由國內RT-Thread工作室開發的開源實時操作系統。起初RT-Thread是一個實時的內核(全搶占優先級調度,調度器時間復雜度O(1)),但在發展過程中,RT-Thread實時操作系統得到了來自全國嵌入式開發工程師的鼎力支持,為RT-Thread添磚加瓦,現在它已慢慢變成一個完善的、全功能的操作系統:文件系統,網絡協議棧,圖形界面組件。。。只有您想不到,沒有您做不到:RT-Thread是一個平台,您可以把您的創意匯聚在一起,小平台大社區,RT-Thread的開發人員就在您的身邊。
 

rt-thread 怎搭建gui

RT-Thread/GUI是專為RT-Thread操作系統開發的,並在相應的地方采用了RT-Thread特有的功能,它是一款幾乎從零代碼開始編寫的,擁有獨立知識產權的圖形界面(不包括JPEG、PNG等圖形庫部分)。在RT-Thread許可證的條款下,能夠免費的在商業產品中使用。RT-Thread/GUI的特性包括:
- 多線程圖形用戶界面;
- 依賴於RT-Thread線程調度器的實時圖形用戶界面;
- 創新式的在嵌入式系統中引入面板的概念,縮小了多線程,多窗口圖形用戶界面編程代價:
* workbench,對應多線程;
* view,對應不同的用戶界面視圖;
* window,對應多窗口;
- C語言方式的全面向對象設計:
* 對象具備運行時類型信息;
* 對象自動銷毀,使得內存的管理更為輕松;
- 豐富的控件支持:
* button,checkbox,radiobox
* textbox
* progressbar,slider
* listview,filelist_view
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved