嵌入式框架Zorb Framework搭建一:嵌入式環境搭建、調試輸出和建立時間系統
嵌入式框架Zorb Framework搭建過程
嵌入式框架Zorb Framework搭建一:嵌入式環境搭建、調試輸出和建立時間系統
嵌入式框架Zorb Framework搭建二:環形緩沖區的實現
嵌入式框架Zorb Framework搭建三:列表的實現
嵌入式框架Zorb Framework搭建四:狀態機的實現
嵌入式框架Zorb Framework搭建五:事件的實現
嵌入式框架Zorb Framework搭建六:定時器的實現
嵌入式框架Zorb Framework搭建七:任務的實現
一、前言
之前,我一直以為C語言只是面向過程的語言,直到我發現它也可以用來創造對象。現在,我就要用面向對象的思想來搭建一個輕量級的嵌入式框架Zorb Framework。搭建Zorb Framework的目的是為在不能運行Linux的芯片上快速開發應用,不用反復造輪子。
Zorb Framework的初步設計功能有
1、時間系統功能zf_time
2、環形緩沖區功能zf_buffer
3、列表功能zf_list
4、狀態機功能zf_fsm
5、事件功能zf_event
6、定時器功能zf_timer
7、任務功能zf_task
前6個功能,就可以實現純事件驅動的程序,基本可以滿足中小型嵌入式應用程序開發的需求。加上任務功能,是為了滿足部分程序對實時性要求較高的需求。當然,也可以將前6個功能裁剪出來,然後運行在現有的嵌入式系統上面,這樣子也可以滿足實時性的需求。
二、嵌入式環境搭建
采用STM32F429開發板作為硬件運行環境,硬件資源用到串口1和systick,其中串口1提供調試打印功能,systick提供系統時間計數功能。
關於硬件環境的搭建不多說,可以參照開發板提供的例程來搭建,板級初始化完成了調試串口和systick的初始化。
/****************************************************************************** * 描述 :硬件環境初始化 * 參數 :無 * 返回 :無 ******************************************************************************/ void BSP_init(void) { /* 嵌套向量中斷控制器組選擇 */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);/* 初始化調試串口 */ Debug_USART_init(); /* Systick初始化 */ SystemTick_init(); } /****************************************************************************** * 描述 :硬件底層程序 * 參數 :無 * 返回 :無 ******************************************************************************/ void BSP_process(void) { }
三、調試輸出
開發一個程序,最開始也最重要的是搭建調試的環境,我們采用串口1作為調試輸出,然後調試信息分為三個等級,後續上位機可以根據不同等級進行高亮提示:
嵌入式框架Zorb Framework搭建一:嵌入式環境搭建、調試輸出和建立時間系統