Hi all, just to let you know, the heap problem was solved after pulling the latest commit from master.. Now I can use very much of it, also I was able to use a lot more features in the config, as cmd line history etc... So, the available memory of 256K was not the problem, @Greg. @Nathan: now malloc returns NULL if out of heap.. Sorry for that, guys, normally someone should make sure to have the latest version, not a version from 4 weeks ago as I. What happens is, as there is a lot of changes going on constantly, sometimes I hesitate to make frequent pushes, because it can mess up my processes. (for example if someone changes the nuttx folder structure or similar) Very good that now there are release branches, I hope the release branch will suffer only bug-fixes as changes.. Thanks again,
-- Florian Wehmeyer TFW Tech-Solutions On Seg, 2020-05-11 at 18:43 -0300, Florian Wehmeyer wrote: > OK Greg, > could be that I was using too much.. using 64KB of ramdisk also.. I > disabled some of the comfortable features like cmd line history etc, > and was already able to alloc quite a bit more than before.. > Will further improve the sram usage.. > Also, I missed the commit > mm/mm_heap: fix mm_heap not support BUILD_FLAT > > > > GUIDINGLI > > > authored and patacongo > > committed > on Apr 10 > > > > which well might impact my stuff here, will pull and let you know, > @Nathan I will also make tests if malloc continues returning non NULL > pointers even if out of memory.. > > Seems on a good way!! > > Many thanks, > Florian > > > > -- > Florian Wehmeyer > TFW Tech-Solutions > On Seg, 2020-05-11 at 15:09 -0600, Gregory Nutt wrote: > > > > > > > > > > > > > > > > > > > > > > > No custom board, it's the tm4c1294-launchpad. > > > > Seems no general problem with heap allocation, so I guess it's > > > > not in > > > > the linker script, it's rather directly linked to the usage of > > > > the elf- > > > > binary loader, and there are only two configs in the nuttx repo > > > > which > > > > use the CONFIG_ELF stuff. > > > That part has 256Kb of SRAM. That is more that many, but it > > > could > > > be > > > that you are using too much SRAM and just cannot run ELF > > > reliably. > > > It > > > does want a lot of SRAM. > > Most of the other boards that use CONFIG_ELF=y in a configuration > > have a > > much larger internal ram (exceptions in red): > > > > $ find . -name defconfig | xargs grep -l CONFIG_ELF=y | xargs grep > > RAM_SIZE > > ./arm/cxd56xx/spresense/configs/elf/defconfig:CONFIG_RAM_SIZE=15728 > > 64 > > ./arm/cxd56xx/spresense/configs/module/defconfig:CONFIG_RAM_SIZE=15 > > 72 > > 864 > > ./arm/cxd56xx/spresense/configs/posix_spawn/defconfig:CONFIG_RAM_SI > > ZE > > =1572864 > > ./arm/cxd56xx/spresense/configs/rndis/defconfig:CONFIG_RAM_SIZE=157 > > 28 > > 64 > > ./arm/cxd56xx/spresense/configs/wifi/defconfig:CONFIG_RAM_SIZE=1572 > > 86 > > 4 > > ./arm/lc823450/lc823450- > > xgevk/configs/elf/defconfig:CONFIG_RAM_SIZE=1044480 > > ./arm/lc823450/lc823450- > > xgevk/configs/krndis/defconfig:CONFIG_RAM_SIZE=1044480 > > ./arm/lc823450/lc823450- > > xgevk/configs/posix_spawn/defconfig:CONFIG_RAM_SIZE=1044480 > > ./arm/lc823450/lc823450- > > xgevk/configs/rndis/defconfig:CONFIG_RAM_SIZE=1044480 > > ./arm/lc823450/lc823450- > > xgevk/configs/usb/defconfig:CONFIG_RAM_SIZE=1044480 > > ./arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig:CONFIG_RAM_SIZE=655 > > 36 > > ./arm/sama5/sama5d4- > > ek/configs/elf/defconfig:CONFIG_RAM_SIZE=268435456 > > ./arm/sama5/sama5d4- > > ek/configs/knsh/defconfig:CONFIG_RAM_SIZE=268435456 > > ./arm/stm32/olimex-stm32- > > p407/configs/kelf/defconfig:CONFIG_RAM_SIZE=114688 > > ./arm/stm32/stm32f4discovery/configs/elf/defconfig:CONFIG_RAM_SIZE= > > 11 > > 4688 > > ./arm/stm32/stm32f4discovery/configs/posix_spawn/defconfig:CONFIG_R > > AM > > _SIZE=114688 > > ./arm/stm32/stm32f4discovery/configs/rndis/defconfig:CONFIG_RAM_SIZ > > E= > > 114688 > > ./arm/tms570/tms570ls31x-usb- > > kit/configs/nsh/defconfig:CONFIG_RAM_SIZE=262143 > > ./risc-v/k210/maix- > > bit/configs/elf/defconfig:CONFIG_RAM_SIZE=2097152 > > ./risc-v/k210/maix- > > bit/configs/module/defconfig:CONFIG_RAM_SIZE=2097152 > > ./risc-v/k210/maix- > > bit/configs/posix_spawn/defconfig:CONFIG_RAM_SIZE=2097152 > > > > And one of these exceptions has a large external DRAM: > > > > $ find . -name defconfig | xargs grep -l CONFIG_ELF=y | xargs grep > > EXTDRAM > > ./arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig:CONFIG_LPC17_40_EXT > > DR > > AM=y > > ./arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig:CONFIG_LPC17_40_EXT > > DR > > AMSIZE=33554432 > > > >