牛卧堂MCU技术交流

标题: 请教M467的CANFD例程中的专用RAM区。 [打印本页]

作者: 匿名    时间: 2024-6-7 15:35
标题: 请教M467的CANFD例程中的专用RAM区。
例程《en-us--EC_M460_CANFD_Tx_Simply_V1.00》;
以下描述:

一条报文启动发送后,可能因总线忙而处于等待状态。M467 每个CANFD接口最多可配置32条等待发送报文存放在“专用RAM区”。这个专用RAM区有6144Bytes,用于存放等待发送的报文、接收到的报文、及其它报文配置信息。

CANFD_BUF_T __attribute__((section(".ARM.__at_0x40020200"))) CANFD_TxBuff[8]; // size=8*(8+64)=0x240Bytes

请问一下,上面的地址:0x40020200 是随意定义的吗?具体的资料需要参考哪里?谢谢指点迷津!


作者: chrishu    时间: 2024-6-11 11:21
不是随意定义的

作者: 匿名    时间: 2024-6-11 11:50
请问一下,如果在 *.h和*.c 变量的声明和定义中,该如何定义这样的

CANFD_BUF_T __attribute__((section(".ARM.__at_0x40020200"))) CANFD_TxBuff[8];
变量?如何定义和声明呢?我测试了一下,并没有成功。

是否可以讲解一下?谢谢!

作者: Angus    时间: 2024-6-20 14:55
游客 121.29.98.x 发表于 2024-6-11 11:50
请问一下,如果在 *.h和*.c 变量的声明和定义中,该如何定义这样的

CANFD_BUF_T __attribute__((section(" ...

CANFD_BUF_T __attribute__((section(".ARM.__at_0x40020200"))) CANFD_TxBuff[8];

这是数组定义 CANFD_TxBuff[8] ;  
8个结构体数组,结构体名称 CANFD_BUF_T
中间一串字符 __attri。。。。。200))) 意思是把数组放到这个地址。这是 AC6 编译器的格式,与 AC5 格式不一样。声明不成功,常见的问题是地址冲突了,重新选个地址。




欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2