【小安派R2测评】用例程拯救板砖,测试性能

[复制链接]
查看1032 | 回复6 | 2024-10-2 10:15:45 | 显示全部楼层 |阅读模式
本帖最后由 aramy 于 2024-10-2 10:15 编辑

一、固定好屏幕
上次安装好环境后成功将板子变砖了。为了等打印的3D外壳,等待了几天。3D外壳到手后,发现一个问题,装上外壳后,Type-C口,基本被挡住了,虽然这个口仅仅是作为供电口使用的,但是被挡住了,上电很不方便了。不安装外壳,屏幕晃来晃去,很不安全,最后决定用双面胶,将屏幕粘在主板背后,完美解决问题。
1.png

2、重新安装开发环境
转眼到了小长假,在家没有linux环境啦!在win电脑上重新安装开发环境。全程参考以下文字,还是挺容易的。这里需要留意一下,之前自己在linux下克隆时使用的是这个地址
  1. git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git
复制代码
重新搭建环境使用的是这个分支:
  1. git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git -b master
复制代码
两个分支内容不一样,提供的例程也是不一样的。
  1. Windows环境推荐使用VScode + git + 编译工具 + 烧录工具,具体参考教程:https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=282&extra=page%3D1
复制代码
二、编译例程
1、选中"\AiPi-Open-Kits\AiPi-Eyes-Rx"这个例程。
2.png
2、这个例程是针对小安派的,但是小安派有R1、R2。两者还是有些不同的,小安派-Eyes-R1带外置ES8388音频芯片,支持两路音频输入输出。小安派-Eyes-R2采用内置CodeC,支持单路音频输入输出。手头事小安派R2,所以这里需要修改:
3.png

app_main.c中,将 #define DEF_USER_ES8388_EN (0) 由1设置为0。再将proj.conf对应位置修为为“1”
4.png

3、在终端里“make”编译代码,留意,这里要使用git终端,因为编译过程中,有“cp”操作,win自身的终端环境,这个拷贝命令不能识别,会报错,使用git终端,就能避免这个问题。
5.png

4、烧录。使用USB转TTL串口线,连接到板子,执行命令“make flash COMX=COM42”,这里串口号,按自己电脑实际情况修改。烧写前,按住“IO2”按键,再按一下“EN”键,让板子处于烧写状态。
6.png

7.png

烧写后,按一下“EN”复位键,熟悉的出厂界面就回来了。
8.jpg

三、性能测试
一时还想不出性能测试的方案,记忆中看很多大佬,都用lvgl例程中的动画来展示性能。看着那个动画,图像一跳一跳的,靠观察图像跳动的流畅度,和帧率来体现性能。当下这个例程正好有lvgl,那么就来段动画吧!
修改main.c代码,释放出“lv_demo_benchmark()”方法:
  1. int main(void)
  2. {
  3.     board_init();
  4.     printf("\r\n---BOARD:M61EVB-R%d VERSION:%s---\r\n", DEF_BOARD_INFO, DEF_BOARD_VERSION);

  5.     //usb video init
  6.     usbh_initialize();

  7.     /* lvgl init */
  8.     // lv_log_register_print_cb(lv_log_print_g_cb);
  9.     lv_init();
  10.     lv_port_disp_init();
  11.     lv_port_indev_init();

  12.     // test case
  13.     lv_demo_benchmark();
  14.     // lv_demo_stress();
  15.     // lv_demo_widgets();

  16. // #if DEF_NXP_EN
  17. //         setup_ui(&guider_ui);
  18. //            events_init(&guider_ui);
  19. // #else
  20. //     ui_init();
  21. // #endif

  22. // #if DEF_USER_ES8388_EN
  23. //     /* i2s es8388 task start */
  24. //     es8388_palyer_task();
  25. // #else
  26. //     audio_play_task_init();
  27. // #endif

  28.     xTaskCreate(user_task, (char *)"user_task", 2048, NULL, 3, NULL);
  29.     xTaskCreate(button_process_task, (char *)"button_proc_task", button_PROCESS_STACK_SIZE, NULL, button_PROCESS_PRIORITY, &button_process_task_hd);

  30.     /* freeRTOS start */
  31.     vTaskStartScheduler();
  32. }
复制代码
编译、烧录。不知道如何上视频,智能拍几张照了。流畅度没得说,没有感觉到卡顿现象
9.png

10.png

11.png

四 、遇到的问题。
1、串口问题。看代码,有用printf方法输出,使用串口去读取输出内容,总是乱码。上网查了好久,结合代码,才明白这里的输出,使用的是2000000的波特率,真是很少见的值。
12.png

13.png

接下来就是想修改这个波特率的值,找到board.c,修改了控制台初始化时的波特率值。
14.png

再去修改了"AiPi-Open-Kits\AiPi-Cam\bl616vtb\config\bl_factory_params_IoTKitA_auto.dts"的两处波特率的值。
15.png

修改后,编译、烧录一点改变都没有,实在是不知道这个波特率,是那里控制的,求各位大佬指点。
2、最简单例程无法运行。
"AiPi-Open-Kits\Project_basic",有这么个例程,将main.c修改如下:
  1. int main(void)
  2. {
  3.     while (1)
  4.     {
  5.         LOG_I("Hello world");
  6.         printf("hello world!");
  7.         bflb_mtimer_delay_ms(2000);
  8.     }
  9. }
复制代码
就是一个简单的输出功能,但是编译、烧录后串口没有任何反应(无论是 11500还是2000000)。在网上找了许久,有说是加密问题,修改“AiPi-Open-Kits\Project_basic\flash_prog_cfg.ini”,添加“edata”内容。
  1. [cfg]
  2. # 0: no erase, 1:programmed section erase, 2: chip erase
  3. erase = 1
  4. # skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separated
  5. skip_mode = 0x0, 0x0
  6. # 复位下载功能使能(Reset download function enable)
  7. # 0: not use isp mode, #1: isp mode
  8. boot2_isp_mode = 1
  9. # 配置boot2固件,否则无法使用复位烧录功能(Configure boot2 firmware, otherwise the reset burn function cannot be used)
  10. [boot2]
  11. filedir = ./build/build_out/boot2_*.bin
  12. address = 0x000000

  13. [edata]
  14. filedir = ./build/build_out/edata.bin
  15. address = 0x3e0000
  16. # 配置partition固件,这是必要的(Configuring partition firmware is necessary)
  17. [partition]
  18. filedir = ./build/build_out/partition*.bin
  19. address = 0xE000

  20. # 配置应用程序固件地址,需要新建工程时需要修改“Project_basic” 为新工程的名字,否则可能会导致烧录失败
  21. #(To configure the application firmware address, when creating a new project, it is necessary to modify "Project_Basic" to the name of the new project, otherwise it may cause burning failure)
  22. [FW]
  23. filedir = ./build/build_out/Project_basic_$(CHIPNAME).bin
  24. address = 0x10000
复制代码
问题依旧,任然是无任何输出,沮丧中~




回复

使用道具 举报

lovzx | 2024-10-2 10:40:36 | 显示全部楼层
修改下模型重新打印,手里的可以用美工刀切一下
回复 支持 反对

使用道具 举报

陈世繁华 | 2024-10-2 12:56:05 | 显示全部楼层
AiPi-Open-Kits\aithinker_Ai-M6X_SDK\project.build
第55行也有一处波特率要修改

加密问题除了要在flash_prog_cfg.ini文件中增加,还需要将文件放到例程中。
文件原件在aithinker_Ai-M6X_SDK\bsp\board\bl616dk\config。
复制到例程中,比如RX例程:是放在这里AiPi-Eyes-Rx\board\config
回复 支持 反对

使用道具 举报

bzhou830 | 2024-10-2 14:17:23 | 显示全部楼层
玩起来玩起来
选择去发光,而不是被照亮
回复 支持 反对

使用道具 举报

aramy | 2024-10-2 15:17:47 | 显示全部楼层
陈世繁华 发表于 2024-10-2 12:56
AiPi-Open-Kits\aithinker_Ai-M6X_SDK\project.build
第55行也有一处波特率要修改

感谢!我去试试!
回复 支持 反对

使用道具 举报

iiv | 2024-10-4 13:20:04 | 显示全部楼层
玩起来玩起来
回复 支持 反对

使用道具 举报

WT_0213 | 2024-10-7 16:06:34 | 显示全部楼层
赞,非常不错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则