历史上的今天
今天是:2025年03月15日(星期六)
2020年03月15日 | STM32 移植 STemwin
2020-03-15 来源:eefocus
移植STemwin
平台STM32F429+LTDC+SDRAM
其实不难就是给自己做个记录,年纪大了记性不好。。。
自己先驱动好TFTLCD, LTDC, SDRAM等
Cubemx配置增大堆栈大小,不然容易出错

需要添加以下文件进行配置

挨个文件配置
GUIConf.c里面主要修改ram大小,酌情而定,不宜太大。
#define GUI_NUMBYTES (1024)*50
GUIDRV_Template.c里面修改以下函数TBD by customer部分添加画点,读点,填充函数
static void _SetPixelIndex(GUI_DEVICE * pDevice, int x, int y, int PixelIndex)
static unsigned int _GetPixelIndex(GUI_DEVICE * pDevice, int x, int y)
static void _FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1)
LCDConf_FlexColor_Template.c里面
修改屏幕尺寸
#define XSIZE_PHYS 320 // To be adapted to x-screen size
#define YSIZE_PHYS 480 // To be adapted to y-screen size
修改LCD_X_Config函数
void LCD_X_Config(void) {
GUI_DEVICE_CreateAndLink(&GUIDRV_Template_API, GUICC_M565, 0, 0);
LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS);
LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);
}
修改LCD_X_DisplayDriver函数,添加LCD初始化函数
int LCD_X_DisplayDriver(unsigned LayerIndex, unsigned Cmd, void * pData) {
int r;
(void) LayerIndex;
(void) pData;
switch (Cmd) {
case LCD_X_INITCONTROLLER: {
TFT_ini();
return 0;
}
default:
r = -1;
}
return r;
}
stm32f4xx_it.c函数中修改增加
extern DMA2D_HandleTypeDef hdma2d;//add this code
void SysTick_Handler(void)
{
/* USER CODE BEGIN SysTick_IRQn 0 */
OS_TimeMS++; //add this code
/* USER CODE END SysTick_IRQn 0 */
HAL_IncTick();
/* USER CODE BEGIN SysTick_IRQn 1 */
/* USER CODE END SysTick_IRQn 1 */
}
GUIbuilder设计窗口,对话框

main.c添加以下代码
#include "GUI.h"
#include "WM.h"
WM_SetCreateFlags(WM_CF_MEMDEV);
WM_HWIN hDlg;
GUI_Init();
hDlg=CreateWindow();
while (1)
{
GUI_Delay(100);
}
运行结果

先到这儿,下阶段再写Touch。
史海拾趣
|
怎样做才能快速的嵌入式了? 其实,做工程是没有捷径可走的.听听下面一个大牛写的! 先说做硬件: 把你的数字电路教材和模拟电路的教材读熟,暂时先把重点放在数字电路上面,接着把微机原理和接口技术读熟悉了,最好能用汇编写几个简单的程序上机 ...… 查看全部问答> |
|
诸位,咱进入安防行业也是几年了,不算有出息,环顾四周,也没有看见几个有出息的 !回顾这几年的行业生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们弟兄们提个醒 ,希望他们比咱强! 1:好好规划自 ...… 查看全部问答> |
|
请教gprs modem拨号成功ppp协商获得ip地址并确认后怎么还无法上网? gprs modem拨号成功,并且ppp协商获得ip地址而且也确认了,但是我在电脑上ping 10.0.0.172还是不通,是不是还要设置什么?电脑还有正常宽带连接中… 查看全部问答> |
|
想学习ARM方面的。现在想学。目前自身的水平是会c,c++,VC都没有问题。汇编懂一点。arm系统以前用过nucleus,也是别人把系统搭好后我添加一些程序。现在自己想设计个板子,包括画板子,写驱动。 请问我该怎么学习?谢谢… 查看全部问答> |
|
在LED灯具中普遍使用的颜色有红绿蓝白黄,从人眼的视觉敏感度来讲,人对黄、绿色的颜色敏感,也就是说这两种颜色稍微有点波动,人眼就能感觉到。衡量颜色的单位是nm(纳米),为了避免颜色波长不同来来的差异,灯具生产公司不得不对LED原材料进行控 ...… 查看全部问答> |
|
请以下参与团购TI工业用样片的ID补充完整信息,逾期将做退货处理! 参与团购TI工业用样片套装的朋友请注意: 1、以下ID未填写个人相关信息,截止至18日中午12:00仍未提供详细信息将以退货处理。https://www.eeworld.com.cn/ee ...… 查看全部问答> |




