【AG32开发板体验连载】开箱记录:全新范式的开发模式-由软件定义的硬件资源管理 - RISC-V MCU技术社区 - 电子技术william hill官网 - 广受欢迎的专业电子william hill官网 - 威廉希尔官方网站
分享 收藏 返回

[文章]

【AG32开发板体验连载】开箱记录:全新范式的开发模式-由软件定义的硬件资源管理

谢谢elecfans社区能够提供宝贵的机会让我可以拿到这块异构的芯片开发板。一直在为产品寻找替代的方案,这块芯片能够以①mcu方式;②fpga方式;③mcu+fpga混合方式等三种方式进行开发。

目前的进程是搜罗了不同平台的视频和文字教程,感谢提供视频和文字的几位博主。
接下来,也计划先用这块芯片的板子尝试不同的外设,把fpga的能力充分用起来。

大部分资料都可以透过manufacturer的官网搜得到。
①官网:http://www.tcx-micro.com/
②入口教程:http://www.tcx-micro.com/doc_26999784.html
③环境搭建:http://www.tcx-micro.com/doc_26730055.html
④b站博主的gitee代码仓库:https://gitee.com/lalhan/agm-learning/tree/master
⑤b站博主的英国威廉希尔公司网站 :https://space.bilibili.com/399384226/channel/collectiondetail?sid=1565256

oct28.2024-ag32vf407-opening

回帖(2)

jf_87093017

2024-12-19 05:35:38

主板正面图

  • IMG_0858.jpeg

主板背面图

  • IMG_0859.jpeg

主板及配件开箱图
![IMG_0809.jpeg]
![IMG_0808.jpeg]

  • IMG_0808.jpeg
  • IMG_0809.jpeg

烧写器及配件的开箱图

  • IMG_0804.jpeg

  • IMG_0805.jpeg

  • IMG_0806.jpeg

  • IMG_0807.jpeg

jf_87093017

2024-12-19 05:53:08

二、GPIO 的使用:

  • 可用 GPIO:
    AG32 芯片内部可用 gpio 共有 80 个,分为 10 组,每组 8 个。
    代码中各组对应为:GPIO0、GPIO1、GPIO2、...
    组内各 IO 用 bit 表示:GPIO_BIT0、GPIO_BIT1、GPIO_BIT2、...
    使用时,用 组 ID+组内 ID 来标识唯一的 IO。
    这里和 ST 是相仿的,ST 分为 GPIOA/GPIOB/GPIOC,PIN_1/PIN_2/PIN_3...
    AG32 为:GPIO0/GPIO1/GPIO2...,GPIO_BIT0/GPIO_BIT1/GPIO_BIT2...

  • 对外映射:
    程序中使用到的 GPIO 要映射到对外的管脚 PIN。
    映射方式,就是在 ve 文件中配置,如下图:
    image.png
    上图的示例,就是把 gpio4_1 映射到管脚 92。
    在 AG32 中,必须映射后,代码中操作 gpio 时,才会真正使能到硬件管脚。
    这里 GPIOx_y 的角标取值范围:x (0 ~ 9), y (0 ~ 7)
    PIN_z 的取值范围:z 小于最大引脚数
    在取值范围内,满足限制条件下,任意 GPIOx_y 可以映射到任意 PIN_z。
    (“哪些管脚不能被使用”的限制条件,参考文档:AGRV2K_逻辑设置.pdf)
    这里配置的 GPIO0_0,等同于代码中的 (GPIO0, GPIO_BIT0)。

  • 样例 1:
    用 pin3 引脚接 led 灯,并控制亮灯(高为亮)。
    步骤一:
    先做 ve 文件中定义引脚映射(gpio 使用 4-1):
    image.png

    步骤二:
    定义使用的宏:(也可以不定义,直接在代码中使用)
    image.png

    步骤三:
    代码中调用:
    image.png

    步骤四:
    编译并烧录 ve 文件,编译并烧录 code;

  • 驱动开放的 API 包含:
    GPIO_SetOutput/GPIO_SetInput ---设置 IO 为输入输出
    GPIO_SetHigh/GPIO_SetLow ---置高置低
    GPIO_Toggle ---高低切换
    GPIO_IntConfig ---配置中断触发方式
    GPIO_EnableInt/GPIO_DisableInt/GPIO_ClearInt ---中断控制
    GPIO_AF_ENABLE/GPIO_AF_DISABLE ---切换 GPIO 模式(如果有复用)
    Gpio 中断函数 SDK 中已经默认指定:GPIOx_isr
    如果要重定向为函数,通过 plic_isr[GPIOx_IRQn] = gpio_xxx_isr 的方式来设置;

  • 样例 2:
    用 pin96 接外部按键,处理按键消息;
    步骤一:
    在 ve 文件中配置 gpio4_5 映射到 pin96;
    image.png

    步骤二:
    在测试代码中,编写 IO 初始化,并实现中断函数:
    image.png
    注:这里的中断函数 GPIO4_isr 无需程序中再次指定。

    步骤三:
    如果外部威廉希尔官方网站 没有上拉设计,则需要设置芯片内的上拉。
    设置方式:
    在\\platforms\\AgRV\\boards\\agrv2k_x0x\\board.asf 文件 中添加(下图红框内容):
    image.png
    内容:set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to PIN_96

    上拉关键字:WEAK_PULL_UP_RESISTOR
    下拉关键字:WEAK_PULL_DOWN_RESISTOR

    步骤四:
    编译并烧录 ve 文件,编译并烧录 code;


以上摘录自文档: AG32 驱动部分的使用.pdf
*附件:AG32驱动部分的使用.pdf

更多回帖

×
发帖