Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
ECSE-4790Microprocessor SystemsFall 2021
Funny looking guy: Kyle Wilt
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/
August 30st, 2021 Microprocessor Systems 3
Staff● Me: Kyle Wilt● TAs:
– Tahmid Chowdhury (F16?)– Mohammad Haque
● UGSA:
– Ryan Wanner (F20)
● “Helper”:
– Bryce Northrop (F20)
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)
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
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
August 30st, 2021 Microprocessor Systems 7
Course Policies
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.
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
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.
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.
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.
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
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.
August 30st, 2021 Microprocessor Systems 15
Schedule/Calendar
${MPS_Website}/calendar.html
August 30st, 2021 Microprocessor Systems 16
Microcontrollers, IDEs,Libraries, etc.
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.
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)
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
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)
August 30st, 2021 Microprocessor Systems 21
STM32CubeIDE● Tour…ish
● More Tour on Thursday
August 30st, 2021 Microprocessor Systems 22
Groups● Numbers from a Hat?● Person next to you?● Battle Royale?
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.