Opencv例程RZA2M_DRP_Benchmark如何进行相关配置,二次修改?

想要在RZA2M_DRP_Benchmark例程代码的基础上添加串口功能,但是在我对这个软件有限的了解当中,我想要修改最好的方法就是通过Smart Configurator进行串口的配置,然后生成代码,然后还有一种方法就是自己写代码,进行配置,然后包含,然后调用。

但是问题来了,用第一种方法的话RZA2M_DRP_Benchmark例程中根本就没有xxx.scfg文件,然后我就找不到那个配置界面。然后用第二种方法的话,就是SCIFA相关文档没看懂,搞得有点迷,不知道配置的细节该怎么做。

所以我想问,有没有大佬告诉在RZA2M_DRP_Benchmark例程中,该如何打开Smart Configurator界面或者告诉我单独配置串口该怎么做?

Parents
  • 这个工程没有使用smart configurator,一些资源的使用是将smart configurator生成的代码手动合并过来的。和串口相关的是bsp工程里面的r_scifa_drv_sc_cfg.h和r_gpio_drv_sc_cfg.h (sc代表smart configurator)

    由于openCV的历程使用了SDRAM,在开发板上资源是有冲突的,即,使用SDRAM就不能使用CN5的那个串口。
    有2种方法添加串口
    1. 如果你不需要使用SDRAM,可以在RZA2M_DRP_Benchmark应用工程找到r_sttartup_config.h,并关掉STARTUP_CFG_SDRAM_ENABLE,同时修改ld脚本将使用SDRAM的section改回到CACHED_RAM,这样修改后CN5可以用于串口输出
    2.如果你需要使用SDRAM,又需要使用串口,修改稍微麻烦些。需要使用TTL转USB串口的外接板,从CN17插座引出另外一路串口
    RxD2 (CN17-9)
    TxD2 (CN17-10)
    GND (CN17-2 or CN17-17)
    同时修改上面连个*sc_cfg.h以及r_devlink_wrapper_cfg.h,增加scifa2 (可以新建另外一个工程配置好RXD2/TXD2后将相关配置代码复制过来)
    另外还要修改syscalls.c
    void initialise_monitor_handles (void)
    {
    //以下3行可以去掉,因为如果使用了CN17上的串口后,它不会和SDRAM冲突。
    #if (STARTUP_CFG_SDRAM_ENABLE == 1)
    return;
    #endif
    。。。
    fh = low_open(name, O_RDWR); //这里会按照r_devlink_wrapper_cfg.h里面的配置打开scifa2

    第一种方法修改更容易,可优先考虑。
  • 按照上面所说,我修改了下面的地方,然后在simple_main中加了一个printf("ok!\r\n");,但是还是没有串口输出,请问是我配置那里有问题吗?

    还有就是我在看副板的硬件手册的时候,发现好像CN17-9,CN-20并没有串口2的功能?这个是为什么?

  • 修改如下scifa2的GPIO设置再测一下
    static const st_r_drv_gpio_sc_config_t GPIO_SC_TABLE_scifa2[] =
    {
    /* {<pin>, {<function>, <tint>, <current>}}, */
    {GPIO_PORT_E_PIN_1, {GPIO_FUNC_PERIPHERAL3, GPIO_TINT_DISABLE, GPIO_CURRENT_RESERVED}},
    {GPIO_PORT_E_PIN_2, {GPIO_FUNC_PERIPHERAL3, GPIO_TINT_DISABLE, GPIO_CURRENT_4mA}},
    };
  • 还是没有输出。然后我在  fh = low_open(name, O_RDWR);设置了一下断点,函数好像没有返回值

  • 看不到返回值是正常的,被编译器优化了,会不是接线TX/RX反了,你交换一下这两根线试试。
  • 我这边测试是正常的,还有一点请注意,如果你是直接import DRP benchmark压缩包里面的所有工程,在对bsp工程做修改之后,除了编译bsp工程之外,需要将bsp库libBSP_RZA2M.a从bsp\BSP_RZA2复制到bsp\lib,然后再重新编译app,默认app引用bsp库的路径是bsp\lib,而不是bsp编译输出路径
  • 非常感谢工程师,现在可以了,串口有输出了。谢谢
Reply Children
No Data