我用着感觉挺快的啊,你是不是设置有问题,我是直接用的demo然后改的自己的驱动 例程里面用了dma,不知道是不是因为这个,psram_init(PSRAM_CLK_SEL_COREH_192M);这个改成最高的,再试试,我之前不知道芯片内部有psram,我用ram直接驱动lvgl也是慢的蜗牛一样
yjx 发布的帖子
-
RE: FR8008G-U 蓝牙和LVGL同时运行 LVGL使用外部PSRAM运行比较卡发布在 FR800x
-
使用FR8008GP-U LVGLDemo 创建控件反复重启发布在 FR800x
使用FR8008GP-U LVGLDemo创建控件反复重启
工程:fr8000u_sdk\examples\evm\gui_demo_8_1_BLE
修改部分:将蓝牙,PSRAM部分和触摸都去掉了,初始化LVGL和LCD7789驱动都没问题,只要我创建LVGL控件,芯片就会复位屏蔽掉创建按键就不会复位了,是不是栈和堆溢出,如果是在哪设置呢
static void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p)
{
st7789v_disp_flush(area->x1,area->x2,area->y1,area->y2,color_p->full);
lv_disp_flush_ready(disp);
}void gui_main(void)
{
//touchpad_init(NULL);
display_init();lv_init(); static lv_disp_draw_buf_t draw_buf_dsc_1;; static lv_color_t buf_1[LV_BUFFER_SIZE];// static uint16_t buf[LV_BUFFER_SIZE];
// lv_disp_buf_init(&disp_buf, buf, NULL, LV_BUFFER_SIZE); /Initialize the display buffer/
// lv_disp_draw_buf_init(&disp_buf, (void )0x22000000, (void )0x22050000/(0x22000000+LV_HOR_RES_MAX * LV_VER_RES_MAX * sizeof(lv_color_t))/, LV_HOR_RES_MAX * LV_VER_RES_MAX); /Initialize the display buffer/
lv_disp_draw_buf_init(&draw_buf_dsc_1,buf_1,NULL,LV_BUFFER_SIZE);/* Implement and register a function which can copy the rendered image to an area of your display */ static lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/ lv_disp_drv_init(&disp_drv); /*Basic initialization*/ disp_drv.flush_cb = my_disp_flush; /*Set your driver function*/ disp_drv.draw_buf = &draw_buf_dsc_1; /*Assign the buffer to the display*/ disp_drv.hor_res = LV_HOR_RES_MAX; disp_drv.ver_res = LV_VER_RES_MAX; disp_drv.full_refresh = 0; lv_disp_drv_register(&disp_drv); /*Finally register the driver*/ /* Implement and register a function which can read an input device. E.g. for a touch pad */// static lv_indev_drv_t indev_drv; /Descriptor of a input device driver/
// lv_indev_drv_init(&indev_drv); /Basic initialization/
// indev_drv.type = LV_INDEV_TYPE_POINTER; /Touch pad is a pointer-like device/
// indev_drv.read_cb = my_touchpad_read; /Set your driver function/
// lv_indev_drv_register(&indev_drv); /Finally register the driver/__SYSTEM_TIMER_CLK_ENABLE(); timer_init(Timer0, system_get_clock_config()*1000*LV_TICK_COUNT, TIMER_DIV_NONE); timer_start(Timer0); NVIC_SetPriority(TIMER0_IRQn, 5); NVIC_EnableIRQ(TIMER0_IRQn); os_timer_init(&lv_schedule_timer, lv_schedule_timer_handler, NULL); os_timer_start(&lv_schedule_timer, 20, true);// timer_init(Timer1, system_get_clock_config()1000100, TIMER_DIV_NONE);
// timer_start(Timer1);
// NVIC_SetPriority(TIMER1_IRQn, 6);
// NVIC_EnableIRQ(TIMER1_IRQn);lv_obj_t *myBtn = lv_btn_create(lv_scr_act()); // ????; ???:?????? lv_obj_set_pos(myBtn, 10, 10); // ???? lv_obj_set_style_bg_color(myBtn, lv_color_hex(0xFF0000), 0); // ????? lv_obj_set_size(myBtn, 120, 50); // ???? lv_obj_center(myBtn); //create_btn(lv_scr_act(), 20, 20, 120, 50, "btn1"); //lv_demo_widgets(); //lv_demo_benchmark(); //lv_ex_calendar_1(); //lv_demo_music();}
-
FR8008GP-U RTT发布在 FR800x
使用rtt,没法打开rttview



要怎么使用他,这是我在jlinkdevices里面添加的
<!-- -->
<!-- FreqChip -->
<!-- -->
<Device>
<ChipInfo Vendor="FreqChip" Name="FR800x" Core="JLINK_CORE_CORTEX_M3" WorkRAMAddr="0x11000000" WorkRAMSize="0x4000"/>
<FlashBankInfo Name="External Flash" BaseAddr="0x10000000" MaxSize="0x80000" Loader="Devices/Freqchip/FR8000.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>
使用的工程为 fr8000u_sdk\examples\evm\gui_demo_8_1_BLE\keil