国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

如何在KEIL上基于LPC55S69上部署arm2D!

2024/05/15
2887
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

首先安裝下面2個KEIL PACK包。一個ARM2D,一個perf_counter。

其次以一個帶LCD的可以正常繪圖的例程為基礎(chǔ),開始添加ARM2D。

如下圖添加ARM2D。

如下圖添加perf_counter。

再就是CMSIS包,需要添加DSP庫。

添加pack完成后的樣子。

下一步配置ARM2D的arm2d_cfg.h和disp lcd

下面lcd驅(qū)動函數(shù)實(shí)現(xiàn)下圖的繪圖函數(shù)。

用戶應(yīng)用文件添加相關(guān)頭文件。

然后主函數(shù)添加初始化。

用戶文件添加時間測量函數(shù)

/*============================ IMPLEMENTATION ================================*/
static int64_t s_lTimestap;

__OVERRIDE_WEAK
void arm_2d_helper_perf_counter_start(void)
{
s_lTimestap = get_system_ticks();
}

__OVERRIDE_WEAK
int32_t arm_2d_helper_perf_counter_stop(void)
{
return (int32_t)(get_system_ticks() - s_lTimestap);
}

#include "stdio.h"
#include "fsl_device_registers.h"
#include "fsl_debug_console.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
#include "peripherals.h"
#include "fsl_power.h"

#include "lcd_driver.h"
#include "arm_2d.h"
#include "arm_2d_helper.h"
#include "perf_counter.h"
#include "arm_2d_disp_adapter_0.h"
/*******************************************************************************
* Definitions
******************************************************************************/

//static const uint8_t c_bmpClockFace[];

/*******************************************************************************
* Prototypes
******************************************************************************/
void SysTick_Handler(void)
{

}

int fputc(int ch,FILE *f)
{
return ch;
}
/*============================ IMPLEMENTATION ================================*/
static int64_t s_lTimestap;

__OVERRIDE_WEAK
void arm_2d_helper_perf_counter_start(void)
{
s_lTimestap = get_system_ticks();
}

__OVERRIDE_WEAK
int32_t arm_2d_helper_perf_counter_stop(void)
{
return (int32_t)(get_system_ticks() - s_lTimestap);
}

/*!
* @brief Main function
*/
int main(void)
{
char ch;
/* Init board hardware. */
/* set BOD VBAT level to 1.65V */
POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
/* attach main clock divide to FLEXCOMM0 (debug console) */
CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);

BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitBootPeripherals();
BOARD_InitDebugConsole();

SysTick_Config(SystemCoreClock/1000);
init_cycle_counter(true); //初始化 perf_counter

lcd_init(); //LCD初始化
PRINTF("hello world.rn");
// Disp0_DrawBitmap(0,0,200,190,c_bmpClockFace); //測試LCD繪圖函數(shù)。

arm_irq_safe {
arm_2d_init(); // 初始化 arm-2d
}
// 初始化 Display Adapter 0
disp_adapter0_init();

while (1)
{
disp_adapter0_task();
// ch = GETCHAR();
// PUTCHAR(ch);
}
}

編譯,下載

下載 后的效果

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
AFBR-5972Z 1 Foxconn Transceiver, 635nm Min, 675nm Max, 100Mbps(Tx), 100Mbps(Rx), Panel Mount, ROHS COMPLIANT PACKAGE
$150.74 查看
SN74LVC1G17DCKRG4 1 Texas Instruments Single 1.65-V to 5.5-V buffer with Schmitt-Trigger inputs 5-SC70 -40 to 125

ECAD模型

下載ECAD模型
$0.36 查看
TJA1040T/CM,118 1 NXP Semiconductors TJA1040 - High-speed CAN transceiver with standby mode SOIC 8-Pin

ECAD模型

下載ECAD模型
$2.24 查看

相關(guān)推薦

三台县| 渑池县| 新蔡县| 泸州市| 昌邑市| 承德市| 辽源市| 太白县| 闵行区| 星座| 新邵县| 梨树县| 介休市| 呼图壁县| 高淳县| 宁河县| 涟源市| 芷江| 巨野县| 罗源县| 永平县| 黔东| 乌拉特前旗| 桦甸市| 临颍县| 铜川市| 揭西县| 交城县| 惠水县| 巴东县| 白沙| 卫辉市| 山阳县| 南昌市| 承德县| 金昌市| 永新县| 龙泉市| 定南县| 博客| 高台县|