Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
LittlevGL_LVGL
debug 无法进入main
发布于 2024-07-13 12:34:06 浏览:525
订阅该版
我给系统中加入了 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 ```  这是什么原因呢? 这连调试都没法进行了 我现在的代码是 把初始化代码 任务代码如下, 实际上开机并没有直接运行任务代码,因为也会出现卡死, 为了调试, 把开机启动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
被浏览
525
关于作者
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
RT-thred的stm32h723对应bsp包CubeMX添加其他外设报错
2
RT-Thread中的time溢出问题,时间戳溢出,解决方法
3
ART-PI使用env驱动ETH网卡,pc和板子可以ping通
4
SystemView线程名字不显示
5
只用网页也能跑RT-Smart 无门槛腾讯Cloud studio + smart-build快速构建
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
9
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
xiaorui
3
个答案
1
次被采纳
winfeng
2
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
阳光的掌控者
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部