c->buf_send = mqtt_malloc(tmp_len);
#define mqtt_malloc(size) HAL_Malloc(size)
uint8_t G_Buff[2048] __attribute__ ((at(0X20001000)));
void *HAL_Malloc(uint32_t size)
{
return (void*)&G_Buff[0];
}
貌似会死机 不知问题在哪?自己也验证一下:
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>//malloc
typedef unsigned int uint32_t ;
typedef unsigned short uint16_t ;
typedef unsigned char uint8_t ;
static uint8_t G_Buff[2048];
void *HAL_Malloc(uint32_t size)
{
printf("********************\r\n");
return (void*)malloc(size);
//return (void*)&G_Buff[0];
}
int main(void)
{
uint8_t *p=NULL;
p = (uint8_t *) HAL_Malloc(1);
*p=8;
printf("%d",*p);
return 1;
}
此时是iOK
可以做我自己的!
static uint8_t G_Buff[2048];
void *HAL_Malloc(uint32_t size)
{
printf("********************\r\n");
return (void*)&G_Buff[0];
}
int main(void)
{
uint8_t *p=NULL;
p = (uint8_t *) HAL_Malloc(1);
*p=90;
printf("%d",*p);
return 1;
}
也是没有问题的!
算了
暂时
直接:
//#define PLATFORM_HAS_DYNMEM
这样就不会用malloc了 它会自己static