esp-idf\examples\system\himem编译报错

xixixixi
Posts: 13
Joined: Mon Aug 27, 2018 10:33 am

esp-idf\examples\system\himem编译报错

Postby xixixixi » Mon Mar 25, 2019 7:18 am

esp-idf\examples\system\himem编译报错,
esp-idf/examples/system/himem/main/himem_test_main.c:18:26: fatal error: esp32/spiram.h: No such file or directory
怎么修改?

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: esp-idf\examples\system\himem编译报错

Postby ESP_morris » Mon Mar 25, 2019 8:30 am

你好,我这边编译一切正常,暂时无法复现出你的问题。能否告知你当前使用的IDF版本?操作系统?编译系统(make还是cmake)。如果你使用的IDF版本比较旧可能会出现这种问题(因为himem功能推出才半年不到,有些API在老的IDF中可能不存在)。

xixixixi
Posts: 13
Joined: Mon Aug 27, 2018 10:33 am

Re: esp-idf\examples\system\himem编译报错

Postby xixixixi » Wed Mar 27, 2019 6:55 am

怎么查看idf的版本号?
我是2019年3月21日拉的最新版本
git pull
git submodule update --init --recursive
最新的提交是这个。
commit 106dc05903a1691c024bb61ac7b29ca728829671
Merge: 57e1b5d 956c25d
Author: Ivan Grokhotkov <ivan@espressif.com>
Date: Thu Mar 21 18:34:08 2019 +0800

编译工具是这个:
14.04.1-Ubuntu

直接在example中执行的make all

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: esp-idf\examples\system\himem编译报错

Postby ESP_morris » Wed Mar 27, 2019 8:03 am

xixixixi wrote:
Wed Mar 27, 2019 6:55 am
怎么查看idf的版本号?
git describe 可以查看版本。
我在我本地按照你的说明也执行了一遍,并没有报这个错误。 make clean后再make还是会出错吗?

xixixixi
Posts: 13
Joined: Mon Aug 27, 2018 10:33 am

Re: esp-idf\examples\system\himem编译报错

Postby xixixixi » Wed Mar 27, 2019 10:01 am

找到原因了,环境变量设置错了。导致idf的路径用的是旧的。
再请教个问题:
external ram是8M,分配内存时malloc和heap_caps_malloc能否从8M中分配了空间?还是只能分配其中的4M?
一定要用esp_himem_alloc这个才能分配另外的4M吗?

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: esp-idf\examples\system\himem编译报错

Postby ESP_morris » Wed Mar 27, 2019 11:12 am

xixixixi wrote:
Wed Mar 27, 2019 10:01 am
external ram是8M,分配内存时malloc和heap_caps_malloc能否从8M中分配了空间?还是只能分配其中的4M?
一定要用esp_himem_alloc这个才能分配另外的4M吗?
是这样的,所以一般建议用来存放音频图片等“大”数据。传统的malloc方式只能从低4MiB空间分配内存。

FYI: https://docs.espressif.com/projects/esp ... himem.html

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: esp-idf\examples\system\himem编译报错

Postby ESP_morris » Wed Mar 27, 2019 11:12 am

xixixixi wrote:
Wed Mar 27, 2019 10:01 am
external ram是8M,分配内存时malloc和heap_caps_malloc能否从8M中分配了空间?还是只能分配其中的4M?
一定要用esp_himem_alloc这个才能分配另外的4M吗?
是这样的,所以一般建议用来存放音频图片等“大”数据。传统的malloc方式只能从低4MiB空间分配内存。

FYI: https://docs.espressif.com/projects/esp ... himem.html

Who is online

Users browsing this forum: Bing [Bot] and 225 guests