高级会员
- 积分
- 600
- 金钱
- 600
- 注册时间
- 2015-9-7
- 在线时间
- 140 小时
|
1金钱
我这样定义,感觉没有用啊 memp_memory_RX_POOL_base的确定义到了。Rx_PoolSection位置,但是MEMP的位置还是自动分配的
typedef struct
{
struct pbuf_custom pbuf_custom;
uint8_t buff[(ETH_RX_BUFFER_SIZE + 31) & ~31] __ALIGNED(32);
} RxBuff_t;
LWIP_MEMPOOL_DECLARE(RX_POOL, ETH_RX_BUFFER_CNT, sizeof(RxBuff_t), "Zero-copy RX PBUF pool");
//下面是吧LWIP内存池放到指定的位置,实测不放指定位置,MPU不去设置也能工作
#if defined ( __ICCARM__ ) /*!< IAR Compiler */
#pragma location = 0x30000100
extern u8_t memp_memory_RX_POOL_base[];
#elif defined ( __CC_ARM ) /* MDK ARM Compiler */
__attribute__((section(".Rx_PoolSection"))) u8_t memp_memory_RX_POOL_base[];
#elif defined ( __GNUC__ ) /* GNU */
unsigned char __attribute__((section(".Rx_PoolSection"))) memp_memory_RX_POOL_base[];
#endif
|
|