23
ECSE-4790 Microprocessor Systems Fall 2021 Funny looking guy: Kyle Wilt

ECSE-4790 Microprocessor Systems Fall 2021

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ECSE-4790 Microprocessor Systems Fall 2021

ECSE-4790Microprocessor SystemsFall 2021

Funny looking guy: Kyle Wilt

Page 2: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 2

About this Course● Preparation for real world work on embedded systems:

– Hands-On experience– Technical manual interpretation– Independence

● Very little hand-holding (e.g., Embedded Control)● Expected to implement labs with little technical guidance

● Website:

– https://ecse.rpi.edu/courses/static/ECSE-4790/

Page 3: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 3

Staff● Me: Kyle Wilt● TAs:

– Tahmid Chowdhury (F16?)– Mohammad Haque

● UGSA:

– Ryan Wanner (F20)

● “Helper”:

– Bryce Northrop (F20)

Page 4: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 4

About this Course● 6 Labs and a Final Project

– No HOMEWORK– 3 Quizzes– No EXAMS

● Work in Teams of 2.

– No groups of 3, will accept groups of 1 (with leniency)

Page 5: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 5

Topics by Lab (may be rearranged)1.Basic Terminal (ANSI) and Digital I/O (GPIO)

2.System Interrupts and Timers

3.Serial Communication: UART + SPI

4.Analog/Digital Conversion and Filtering

5.Direct Memory Access (DMA)

6.Options: USB, RTOS, JPEG+DMA2D

Page 6: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 6

Final Project● Entirely up to you/your group but:● Needs to use some functionality from labs● C or C++ based (No Arduino!)

– Open to newer languages, e.g., micropython, rust, etc.● Don’t even need to use class microcontroller

● Talk about it more as it approaches

Page 7: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 7

Course Policies

Page 8: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 8

Policies - Attendance● No strict policy on attendance but…

– To finish course you need to finish labs…

– We’ll notice if one group member does the majority of the work. It’s very obvious.

Page 9: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 9

Policies - Grades● All grades determined through work on labs

– ...Except 15 % to quizzes

● Labs are not weighted equally● Individual grading built into labs as well as overall

“Preparation and Participation”● Curving (up-or-down) of final grades possible

– Grade estimation provided midway through class

Page 10: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 10

Policies – Lab Grading● Task-by-task checkoff and grading (~50 %)● Report (~50 %)

– Only accepted if each required task is completed– -20 points per school day late

● No need to submit report after 5 days late. ● Task completion is still required however.

Page 11: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 11

Policies – Lab Grading● Required Tasks:

– Most tasks are required for you to complete the lab/class

– Can get help on required tasks, though we will limit the amount of answers we give (e.g., won’t do it for you).

● Depth Tasks:

– Not required for completion of lab.

– Apply what you have learned from other tasks WITHOUT HELP.

– Need to complete and checkoff required tasks before “Finish Lab X” date on calendar to attempt the Depth Task

– Worth 10 points on each lab. Partial credit awarded for non-working but good effort.

Page 12: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 12

Policies – Lab Grading● Extra Credit!

– Reports submitted 1 week early will receive 5 point bonus.

● Only required tasks need to be completed– Max of 95 % without Depth task– Max of 105 % with Depth task

● Cannot get credit for Depth task if report is already submitted.

Page 13: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 13

Policies – Lab Grading● Lab outputs uploaded to Gradescope

– Full project code should be submitted as *.zip● Either full project OR ● Just modified file(s) - preferred

– Reports submitted as PDF

Page 14: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 14

Polices - Textbook● Not required but highly recommended:

– Carmine Noviello, 2018, Mastering STM32● Required and provided:

– Any applicable technical document or manual from ST● Many provided on website:

– ${MPS_Website}/resources.html● Also linked to in lab documents.

Page 15: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 15

Schedule/Calendar

${MPS_Website}/calendar.html

Page 16: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 16

Microcontrollers, IDEs,Libraries, etc.

Page 17: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 17

Microcontrollers...● Basically a computer on a chip:

– Microprocessor– RAM– Flash– I/O support– More peripherals than you can shake a stick at*

● *At least the one we’ll be using.

Page 18: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 18

Microcontrollers● Desktop/Laptop processor manufacturers:

– x86: Intel + AMD– Others: Apple, IBM, probably a few more...

● Embedded processor manufacturers:

– NXP, Renesas, Microchip (AVR+PIC), Samsung, STMicroelectronics, Texas Instruments, Cypress, Broadcom, Silicon Labs, Analog Devices, Allwinner,SiFive, Nvidia, ...probably a bunch more…

● Ranging from extremely simple to extremely complex:

– ATtiny85 (8-pin, 234p manual) → STMF769NI (216-pin, 1954+p manual)

Page 19: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 19

LITEC vs. MPSCourse LITEC MPS (F17) EmCon (LITEC) MPS (>F18)

Microcontroller C8051F020 C8051F120 MSP432P401R STM32F769NI

Architecture 8-bit 805132-bit ARM Cortex-M4

32-bit ARM Cortex-M7

Max Clock 25 MHz 200 MHz 48 MHz 216 MHz

RAM 4 kB 8 kB ● 64 kB 512 kB

FLASH 64 kB 256 kB 2 MB

IDE SiLabs 8-bit IDE TI CCS* STM32CubeIDE*

*See next slide

Page 20: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 20

Integrated Development Envs. (IDE)● IAR and Keil:

– Commercial and expensive!● Generally have excellent support and compiler optimization.

● Eclipse Based (free, generally)

– STM32CubeIDE, TrueStudio, System Workbench (STM32, openstm32.org)– Code Composer Studio, “CCS” (TI)– Simplicity Studio (SiLabs – newer uC only)– MCUXpresso (NXP)

● Netbeans Based

– MPLabX (Microchip)

Page 21: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 21

STM32CubeIDE● Tour…ish

● More Tour on Thursday

Page 22: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 22

Groups● Numbers from a Hat?● Person next to you?● Battle Royale?

Page 23: ECSE-4790 Microprocessor Systems Fall 2021

August 30st, 2021 Microprocessor Systems 23

Group: Code Sharing● I highly suggest you use git to maintain the code within your group. Git

provides a historical record of your code development.

– https://github.com/– https://about.gitlab.com/– https://bitbucket.org– Tutorial: (This looks like a good one...)– To Install within STM32CubeIDE:

● Help → Eclipse Marketplace → Search for “egit” and install with the default options.