Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
LittlevGL_LVGL
debug 无法进入main
发布于 2024-07-13 12:34:06 浏览:325
订阅该版
我给系统中加入了 lvgl 直接出现死机 使用debug调试 也会出现 无法进入main的情况 debug时 会卡在下面的地方: ``` __Vectors_Size EQU __Vectors_End - __Vectors AREA |.text|, CODE, READONLY ; Reset handler Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT SystemInit IMPORT __main LDR R0, =SystemInit BLX R0 LDR R0, =__main BX R0 //在启动代码中会卡在这里 ENDP ``` ![screenshot_图片.png](https://oss-club.rt-thread.org/uploads/20240713/b8da2868ce10b8dac87e7cada11a559f.png.webp) 这是什么原因呢? 这连调试都没法进行了 我现在的代码是 把初始化代码 任务代码如下, 实际上开机并没有直接运行任务代码,因为也会出现卡死, 为了调试, 把开机启动lvgl取消了,准备先启动起来 在运行lvgl,但是还是不行: ```c #include
#include
#include "gpio.h" // #include "lcd.h" #include "st7789_lcd.h" #include "lvgl.h" #include "lv_port_disp_template.h" #include "lv_port_indev_template.h" // GUI Guider Includes #include "events_init.h" #include "gui_guider.h" #include "custom.h" //#include "SEGGER_SYSVIEW.h" //#include "SEGGER_RTT.h" /* Definitions for tasks */ /* Task handles */ #define DEFAULT_TASK_STACK_SIZE 512 static struct rt_thread default_task; static rt_uint8_t default_task_stack[DEFAULT_TASK_STACK_SIZE]; static rt_thread_t default_task_handle = RT_NULL; #define LVGL_TASK_STACK_SIZE 40*1024 static struct rt_thread lvgl_task; static rt_thread_t lvgl_task_handle = RT_NULL; // static rt_uint8_t lvgl_task_stack[LVGL_TASK_STACK_SIZE]; /* Function prototypes */ static void default_task_entry(void *parameter); static void lvgl_task_entry(void *parameter); /* LVGL specific variables */ lv_ui guider_ui; extern lv_indev_t *indev_encoder; extern volatile int32_t encoder_diff; extern volatile unsigned char encoder_button_val; extern volatile lv_indev_state_t encoder_state; void lvgl_timer_cb1(lv_timer_t * timer); /* RT-Thread tick hook function */ static void lvgl_tick_hook(void) { // lv_tick_inc(1); } // /* Application initialization function */ // int application_init(void) // { // // // Create the default task // // default_task_handle = rt_thread_create("default_task", // // default_task_entry, // // RT_NULL, // // DEFAULT_TASK_STACK_SIZE, // // 10, // // 10); // // if (default_task_handle != RT_NULL) // // { // // rt_thread_startup(default_task_handle); // // } // // Create the LVGL task // rt_thread_init(&lvgl_task_handle, // "lvgl_task", // RT_NULL, // lvgl_task_entry, // lvgl_task_stack, // LVGL_TASK_STACK_SIZE, // 12, // 10); // // if (lvgl_task_handle != RT_NULL) // // { // // rt_thread_startup(lvgl_task_handle); // // } // // // Set RT-Thread tick hook to LVGL tick function // // rt_thread_idle_sethook(lvgl_tick_hook); // return 0; // } // INIT_APP_EXPORT(application_init); int default_task_creat(void) { // Create the default task default_task_handle = rt_thread_create("default_task", default_task_entry, RT_NULL, DEFAULT_TASK_STACK_SIZE, 10, 10); if (default_task_handle != RT_NULL) { rt_thread_startup(default_task_handle); } } MSH_CMD_EXPORT(default_task_creat,default_task_creat); int default_task_init(void) { // Initialize the default task rt_err_t result = rt_thread_init(&default_task, // Thread control block "default_task", // Thread name default_task_entry, // Thread entry function RT_NULL, // Parameter default_task_stack, // Stack start address DEFAULT_TASK_STACK_SIZE, // Stack size 14, // Thread priority 10); // Tick if (result == RT_EOK) { // Start the thread rt_thread_startup(&default_task); } else { rt_kprintf("Failed to initialize default task: %d\n", result); } return 1; } #if 0 int GUI_init(void) { rt_kprintf("Starting application_init...\n"); // Create the LVGL task rt_err_t result = rt_thread_init( &lvgl_task, "lvgl_task", lvgl_task_entry, RT_NULL, lvgl_task_stack, LVGL_TASK_STACK_SIZE, 10, 10); if (result == RT_EOK) { rt_kprintf("LVGL task created successfully.\n"); rt_thread_startup(&lvgl_task); } else { rt_kprintf("Failed to Init LVGL task.\n"); } return 1; } #endif int GUI_creat(void) { lvgl_task_handle =rt_thread_create( "lvgl_task", lvgl_task_entry, RT_NULL, LVGL_TASK_STACK_SIZE, 12, 10); if (lvgl_task_handle != RT_NULL) { rt_thread_startup(lvgl_task_handle); } else { rt_kprintf("Failed to create LVGL task.\n"); } } // INIT_APP_EXPORT(GUI_create); // INIT_APP_EXPORT(application_init); MSH_CMD_EXPORT(GUI_creat,GUI_creat); static void default_task_entry(void *parameter) { while (1) { // 按键任务 //Key_Scanf(); // page_logic(); rt_kprintf("Default task running...\n"); rt_thread_mdelay(1000); } } static void lvgl_task_entry(void *parameter) { rt_thread_mdelay(10); // LVGL initialization lv_init(); lv_port_disp_init(); //lv_port_indev_init(); // MD_REncoder_Init(&encoder, &encoder_diff, &encoder_button_val, INPUT_MODE_ENCODER, GPIO_MODE_INPUT_PULLUP, GPIOA, GPIO_PIN_0, GPIOA, GPIO_PIN_1, GPIOB, GPIO_PIN_0); // Create a GUI-Guider app setup_ui(&guider_ui);// // Create a timer, switching pages every 3 seconds //lv_timer_create(lvgl_timer_cb1, 3000, RT_NULL); while (1) { lv_task_handler();// rt_thread_mdelay(10); } } void lvgl_timer_cb1(lv_timer_t * timer) { printf("Timer expired!\n"); } ```
查看更多
2
个回答
默认排序
按发布时间排序
张世争
2024-07-14
学以致用
- RT-Thread 这个 MCU 的默认的 bsp 吗? - 新建裸机工程,尝试运行 - 当前看启动脚本部分,复位后没有 `清零 bss` 以及 `Flash -> RAM` 的拷贝操作,这个启动脚本是默认的吗?
梦笑真美
2024-07-15
这家伙很懒,什么也没写!
这就没启动起来
撰写答案
登录
注册新账号
关注者
0
被浏览
325
关于作者
mac
这家伙很懒,什么也没写!
提问
15
回答
2
被采纳
0
关注TA
发私信
相关问题
1
LittlevGL + DMA2D 显示图案扭曲
2
LittleVGL2RTT软件包还有在维护吗,测试遇到一些问题求解
3
使用littlevgl2rtt软件包实例运行不成功,emwin正常
4
关于littlevgl2rtt软件包刷频慢的解决方案?
5
移植了littlevGUI之后,用动态 线程去跑例程会卡死
6
lvgl的字体、图片文件如何升级?
7
qemu-vexpress-a9bsp下的littvgl工程可以实现触屏操作吗?
8
LVGL控件刷新死机问题
9
在lvgl上设置一个时间显示的label,一段时间后所有控件消失。
10
littlevgl2rtt和littlevgl的pc模拟器源码不兼容吗?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部