Code Monkey home page Code Monkey logo

esembedded_hw03's Introduction

HW03

This is the hw03 sample. Please follow the steps below.

Build the Sample Program

  1. Fork this repo to your own github account.

  2. Clone the repo that you just forked.

  3. Under the hw03 dir, use:

    • make to build.

    • make clean to clean the ouput files.

  4. Extract gnu-mcu-eclipse-qemu.zip into hw03 dir. Under the path of hw03, start emulation with make qemu.

    See Lecture 02 ─ Emulation with QEMU for more details.

  5. The sample is a minimal program for ARM Cortex-M4 devices, which enters while(1); after reset. Use gdb to get more details.

    See ESEmbedded_HW02_Example for knowing how to do the observation and how to use markdown for taking notes.

Build Your Own Program

  1. Edit main.c.

  2. Make and run like the steps above.

  3. Please avoid using hardware dependent C Standard library functions like printf, malloc, etc.

HW03 Requirements

  1. How do C functions pass and return parameters? Please describe the related standard used by the Application Binary Interface (ABI) for the ARM architecture.

  2. Modify main.c to observe what you found.

  3. You have to state how you designed the observation (code), and how you performed it.

    Just like how you did in HW02.

  4. If there are any official data that define the rules, you can also use them as references.

  5. Push your repo to your github. (Use .gitignore to exclude the output files like object files or executable files and the qemu bin folder)


  • [] If you volunteer to give the presentation next week, check this.

★★★ Please take your note here ★★★

  1. 實驗目的 觀察C語言在組語中如何運作
  2. 實驗步驟 設計簡易C語言 image 將main.c編譯並用qemu進行模擬 iamge 觀察到組語先將3存入r3暫存器中 image 接著運用r7暫存器存入r3的值,再丟入r0中 image 同樣做法丟值進r1和r2 image 將r3的值加上暫存在r7的3 image 最後將r3值存入r0 image
  3. 結果與討論 C語言在組語中運作方式基本上跟著已經寫好的ARM架構跑。

esembedded_hw03's People

Contributors

mingchang0329 avatar ybcsie avatar

Watchers

James Cloos avatar

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.