美文网首页
2020-02-29

2020-02-29

作者: sonia的红猪猪 | 来源:发表于2020-02-29 22:42 被阅读0次

    阿里 平头哥比赛培训:

    软件开发:

    cdk:win下的集成开发环境

    toolchain和debug server:linux下的编译和调试

    sdk:

    board:板级的启动文件支持 内有board_init实现 开启时钟和调试以及printf用的串口

    csi_kernel: rhino: 实时操作系统内核(是另一个开源项目alios things的最小操作系统内核),类似ucosii,可以在cdk里配置工程支持与不支持操作系统,实现了信号量,邮箱,互斥量,软件定时器。

    csi_core:cpu核心信息的头文件

    csi_driver:硬件设备的驱csi_kernel:动文件,包括pwm,timer和i2cspi串口,注意平头哥的i2c、spi、uart都共享一个usi接口,而默认的处理只包含三个usi接口,所以如果不改动verilog代码可用的串行接口只有三个(uart spi i2c加起来)

    csi_driver里还包含启动文件,在main执行前先执行了system_init和board_init初始化系统时钟和调试printf打印用的串口

    启动文件

    projects:

    有各个设备驱动的代码样例。用cdk打开可分析。

    一般启动一个设备包括引脚分配,初始化以及配置

    比如gpio:

    先分配引脚:

    drv_pinmux_config(EXAMPLE_GPIO_PIN, EXAMPLE_GPIO_PIN_FUNC);

    再初始化设备:

    定义句柄

    gpio_pin_handle_t pin = NULL;   

     调用初始化函数

    pin = csi_gpio_pin_initialize(gpio_pin, gpio_interrupt_handler);          

    这里的pin是gpio的设备句柄,句柄是win32编程风格里标识资源的一种特殊的指针

    然后是调用配置的函数各种外设的配置函数不同可以查csi_driver中的驱动代码

    其他的编码风格与stm32无异

    utilities:

    这里有使用linux+riscv-tools编译工程用的调试和下载flash的组件,用cdk集成开发环境可以忽略

    硬件设计:

    以后再更

    相关文章

      网友评论

          本文标题:2020-02-29

          本文链接:https://www.haomeiwen.com/subject/nunmhhtx.html