1. 程式人生 > >嵌入式框架Zorb Framework搭建一:嵌入式環境搭建、調試輸出和建立時間系統

嵌入式框架Zorb Framework搭建一:嵌入式環境搭建、調試輸出和建立時間系統

面向對象 RoCE 定時器 eve 不用 時間 prior 定時 con

我是卓波,我是一名嵌入式工程師,我萬萬沒想到我會在這裏跟大家吹牛皮。

嵌入式框架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搭建一:嵌入式環境搭建、調試輸出和建立時間系統