Hi
我在ubuntu下编译IDF-4.4.2。 修改了uart.c内的接口来适配外设串口的运行,发送没有问题,使用abup_boot_uart_init来初始化,abup_uart_tx_chars可以发送。
但接收到数据设备就立刻宕机,log文件导出放在附件中,修改的abup_custom_uart.c也已经提供。
烦请检查一下log是否能看出什么原因导致,以及我在中断方面是否有配置不对的地方,非常感谢。
期待回复
[已解决] bootloader内串口接收中断无法进入
[已解决] bootloader内串口接收中断无法进入
- Attachments
-
- err_log20220809.txt
- (7.77 KiB) Downloaded 526 times
-
- abup_custom_uart.h
- (28.66 KiB) Downloaded 537 times
-
- abup_custom_uart.c
- (46.45 KiB) Downloaded 390 times
Last edited by Kx_Kevin on Thu Aug 11, 2022 11:08 am, edited 1 time in total.
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: bootloader内串口接收中断无法进入
直接把包含这些文件的 bootloader 目录打包给出来,其他要改的地方也一并说明。
Re: bootloader内串口接收中断无法进入
Hi
感谢答复
附件已提供,替换component中的bootloader两个文件夹,abup_custom_xx.c文件都在bootloader_support目录内,已经没有其他需要修改的boot内容,请查收。
感谢答复
附件已提供,替换component中的bootloader两个文件夹,abup_custom_xx.c文件都在bootloader_support目录内,已经没有其他需要修改的boot内容,请查收。
- Attachments
-
- components.zip
- (344.12 KiB) Downloaded 565 times
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: bootloader内串口接收中断无法进入
串口中断是可以进入的,问题是你串口 isr 传进来的参数是 NULL,导致后面空指针了。
Code: Select all
r=abup_uart_isr_register(uart_num, abup_uart_group_isr_callback, NULL);
改成
r=abup_uart_isr_register(uart_num, abup_uart_group_isr_callback, &abup_uart_obj[uart_num]);
Re: bootloader内串口接收中断无法进入
Hi
非常感谢,的确是这个问题。
我还发现现在这样的配置,不知道是哪里不太对,每过固定的10S设备就会重启,检查了一下喂狗接口发现外部文件无法调用,所以也不知道是不是看门狗导致。 修改了串口txfifo和rxfifo的thresh值从10改到15,也没有效果。
请问这是怎么回事呢?
非常感谢,的确是这个问题。
我还发现现在这样的配置,不知道是哪里不太对,每过固定的10S设备就会重启,检查了一下喂狗接口发现外部文件无法调用,所以也不知道是不是看门狗导致。 修改了串口txfifo和rxfifo的thresh值从10改到15,也没有效果。
请问这是怎么回事呢?
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: bootloader内串口接收中断无法进入
你那个 abup_timer_callback_cnt 要到 30 才会退出 while,这导致触发 RTC WDT 了,你要把 Bootloader config -> Timeout for RTC watchdog (ms) 改大,比如 30000。
Re: bootloader内串口接收中断无法进入
Hi
感谢答复,我了解了。那除了你说的修改Bootloader config -> Timeout for RTC watchdog (ms)这样的固定时长,有没有喂狗的接口呢?在哪里怎么用?
因为bootloader里面的流程实际时间不可控,固定时长对我来说不现实。
感谢答复,我了解了。那除了你说的修改Bootloader config -> Timeout for RTC watchdog (ms)这样的固定时长,有没有喂狗的接口呢?在哪里怎么用?
因为bootloader里面的流程实际时间不可控,固定时长对我来说不现实。
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: bootloader内串口接收中断无法进入
参看 esp_flash_encrypt_region 里面的喂狗。
Who is online
Users browsing this forum: No registered users and 75 guests