Tips: Kurs i ARM Cortex-M4

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Porto
EF Sponsor
Inlägg: 437
Blev medlem: 27 mars 2004, 12:58:48

Tips: Kurs i ARM Cortex-M4

Inlägg av Porto »

pic07.jpg
För de som vill lära sig ARM Cortex-M4, samt att programmera i C, så har det precis börjat en gratis universitetskurs: "Embedded Systems - Shape The World - UT.6.01x".
Kursen som är på engelska, går via edX, hos "The University of Texas at Austin". De använder en Texas Instruments LaunchPad (Tiva, före detta Stellaris) EK-TM4C123GXL eller EK-LM4F120XL som finns hos Electrokit för 159:-, finns även att köpa direkt från TI.com.

LaunchPaden har en 32-bit, 80 MHz ARM Cortex-M4 (LM4F120, eller TM4C123).
100 DMIPS
256 KB flash
32 KB RAM
Floating-point unit (FPU)
RGB led
Två tryckknappar + reset
JTAG, in-Circuit Debug Interface (ICDI), samt serieport över USB

Det finns visserligen snabbare ARM Cortex-M4, men den bör räcka långt för dem som använder 8-bit mikrokontrollers i dagsläget.
Utvecklingsmiljön i kursen är Keil uVision (http://www.keil.com), med ett tillägg som kontrollerar att programmet som man har gjort följer specifikationen. Programmet kontrolleras både i simulator och via hårdvarudebug på LaunchPaden.
software.jpg
traffic.jpg
DAC.jpg
Kursen innehåller följande:

Module 1: Welcome and introduction to course and staff

Module 2: Fundamental concepts: numbers, computers, and the ARM Cortex M processor
Example. Develop a system that toggles an LED on the LaunchPad
Lab 2. Run existing project on LaunchPad with switch input and LED output

Module 3: Electronics: resistors, voltage, current and Ohm’s Law

Module 4: Digital Logic: transistors, flip flops and logic functions

Module 5: Introduction to C programming
Example. Develop a system that inputs and outputs on the serial port
Lab 5. Write a C function and perform input/output on the serial port

Module 6: Microcontroller Input/Output
Example. Develop a system that inputs from a switch and toggles an LED output
Lab 6. Write C software that inputs from a switch and toggles an LED output

Module 7: Design and Development Process
Example. Develop a system that outputs a pattern on an LED
Lab 7. Write C functions that inputs from two switches and toggles an LED output

Module 8: Interfacing Switches and LEDs
Example. Develop a system with an external switch and LED
Lab 8. Interface an external switch and LED and write input/output software

Module 9: Arrays and Functional Debugging
Example. Develop a system that debugs by dumping data into an array
Lab 9. Write C functions using array data structures that collect/debug your system

Module 10: Finite State Machines
Example. Develop a simple finite state machine
Example. Develop a vending machine using a finite state machine
Example. Develop a stepper motor robot using a finite state machine
Lab 10. Interface 3 switches and 6 LEDs and create a traffic light finite state machine

Module 11: UART - The Serial Interface, I/O Synchronization
Example 11. Develop a communication network using the serial port
Lab 11. Write C functions that output decimal and fixed-point numbers to serial port

Module 12: Interrupts
Example 12. Develop a system that outputs a square wave using interrupts
Example 12. Develop a system that inputs from a switch using interrupts
Example 12. Develop a system that outputs to a DC motor that uses pulse width modulation
Lab 12. Design and test a guitar tuner, producing a 440 Hz tone

Module 13: DAC and Sound
Example 13. Develop a system that outputs an analog signal with a R-2R digital to analog converter (DAC)
Lab 13. Design and test a digital piano, with 4 inputs, digital to analog conversion, and sound

Module 14: ADC and Data Acquisition
Example 14. Develop a system that inputs an analog signal with an analog to digital converter (ADC)
Example 14. Develop an autonomous robot that uses two DC motors and two distance sensors that drives down the middle of a road
Lab 14. Design and test a position measurement, with analog to digital conversion and calibrated output

Module 15: Systems Approach to Game Design
Lab 15. Design and test a hand-held video game, which integrates all components from previous labs. Lab 15 will not be graded, but we will provide a way for you to upload your source to a server and download code from other students to study and to play

pic03.jpg
pic08.jpg
display1.jpg
display3.jpg
Edit: Infogade att kursen är gratis, samt universitetet.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av Porto 26 januari 2014, 20:18:18, redigerad totalt 6 gånger.
Användarvisningsbild
lizerdboy
Inlägg: 1610
Blev medlem: 6 oktober 2003, 22:24:12
Ort: Stockholm

Re: Tips: Kurs i ARM Cortex-M4

Inlägg av lizerdboy »

Ser intressant ut, kan tillägga att den är gratis.
It does not cost anything to take the course. However, since this is a lab-based course, there is a lab kit you will purchase.
Användarvisningsbild
carpelux
Inlägg: 1959
Blev medlem: 13 oktober 2007, 12:33:33
Ort: Varnhem

Re: Tips: Kurs i ARM Cortex-M4

Inlägg av carpelux »

Ser intressant ut. Har en EK-TM4C123GXL liggande så det gäller "bara" att kunna mobilisera tid.
Användarvisningsbild
Porto
EF Sponsor
Inlägg: 437
Blev medlem: 27 mars 2004, 12:58:48

Re: Tips: Kurs i ARM Cortex-M4

Inlägg av Porto »

Man får 5 veckors uppgifter i taget, inga prov. Teori blandas med videolektioner. Det är programmeringsuppgifter, samt teoretiska tester som skall utföras. När ens program är testat och godkänt så genereras en svarskod som man anger på kursens hemsida.

Kursen använder "bottom-up modell", så de första veckornas uppgifter är väldigt grundläggande. Omvandling mellan hex, binär,oktalt och decimala talsystemet. Negativa tal, tvåkomplementsform, jämförelser mellan kod i ASM och C. Grunder i programmering i både ASM och C, loopar, jämförelseoperatorer och logiska operatorer, bitoperatorer, hårdvaruregister, CPU register, I/O portar, flödesschema, hårdvarudebug, simulering. Enklare ellära med ohm's lag, beräkning av serie, parallellkopplade motstånd, digital logik, mosfetar mm.

Om man vill så kan man få ett verifierat intyg att man har gjort kursen, det kostar 50 dollar. En webkamera används för att ta en bild på sig själv och en ID-handling, körkort, vid upprepade tillfällen. Det hela jämförs med uppgifterna de får in när man betalar via kort för intyget.
Skriv svar