Giter Club home page Giter Club logo

Comments (3)

UncleGrumpy avatar UncleGrumpy commented on May 24, 2024

I can confirm the failing sodoku tests on stm32f429zi are indeed a memory related bug in the linker script generated by libopencm3. It does not define an end of stack - which leads to the hard faults. By manually adding the a line to the generated linker that defines the _estack all of the atomvm_benchmark test now pass:


    ###########################################################

       ###    ########  #######  ##     ## ##     ## ##     ##
      ## ##      ##    ##     ## ###   ### ##     ## ###   ###
     ##   ##     ##    ##     ## #### #### ##     ## #### ####
    ##     ##    ##    ##     ## ## ### ## ##     ## ## ### ##
    #########    ##    ##     ## ##     ##  ##   ##  ##     ##
    ##     ##    ##    ##     ## ##     ##   ## ##   ##     ##
    ##     ##    ##     #######  ##     ##    ###    ##     ##

    ###########################################################

INFO [52] AtomVM: Starting AtomVM revision 0.6.0-alpha.2+git.f5bb564b
DEBUG [59] AtomVM: Using usart mapped at register 0x40004800 for stdout/stderr.
DEBUG [67] AtomVM: Maximum application size: 1048576
INFO [73] AtomVM: Booting file mapped at: 0x8080000, size: 1792
INFO [80] AtomVM: Starting: benchmark.beam...

---
Running tests:
pingpong_speed_test: 5981000
prime_speed_test: 17554000
prng_test: 379000
pi_test: 25922000
sudoku_solution_test: 8073000
sudoku_puzzle_test: 305185000
INFO [363201] AtomVM: Exited with return: ok
INFO [363206] AtomVM: AtomVM application terminated.  Going to sleep forever ...

from atomvm.

bettio avatar bettio commented on May 24, 2024

I think an issue here on GitHub should be opened against libopencm3 on both sides.
Once opened, please reference the libopencm3 issue here.

from atomvm.

UncleGrumpy avatar UncleGrumpy commented on May 24, 2024

I searched through the "Closed" issues in the libopencm3 repo and found a similar issue, that suggested a fix by exporting boundaries in the linker script. The issue and associated PR were both closed but ended up having a link to a page in the libopencm3 wiki that explains a work around for safely using malloc. I have implemented that fix in PR #946

from atomvm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.