程序代写 ECE 391 Discussion

discussion_week_01

ECE 391 Discussion

Copyright By PowCoder代写 加微信 powcoder

Announcements & Reminders

! Make sure you have access
! The ECE391 lab (ECEB 3026) / Lab Machines via Remote Desktop
! Both V and Z drive
! Course Webpage/Piazza

! MP0 is due next Wednesday (Sept 1) before OH ends
! Demo to a TA in office hour before the due date
! Must complete on a EWS lab computer through Remote Desktop
! Start (and finish) early

Announcements & Reminders

! x86 Assembly reference sheet is available on the course website
! Setup an environment at home

! https://courses.grainger.illinois.edu/ece391/fa2021/secure/references/
doc-workhome_novpn.pdf

! Post all related questions to pinned Piazza post
! This is not officially supported by the staff, if you need help please grab a

TA that knows ☺
! If you want to do MP1 on this setup you must do part of MP0 on this setup

too (detailed information is included in the link above)
! Don’t worry about the cifs_open break point not working on the WFH

https://courses.grainger.illinois.edu/ece391/fa2021/secure/references/doc-workhome_novpn.pdf
https://courses.grainger.illinois.edu/ece391/fa2021/secure/references/doc-workhome_novpn.pdf

Machine Problems (MP) &
Problem Sets (PS)

! 2 PSs, about 1% total grade
! Groups of at least 4

! MP0: Environment setup (5%)

! At most 2 hours (if you RTDC)
! Lock computer and return (must leave note, no more than 4 hours)

! MP1: RTC tasklet based game (x86) (10%) – Missile Command
! MP2: Device drivers (C) (VGA, TUX) & multi-threading (10%) – Adventure/Phototour

! 2 checkpoints

! MP3: Operating system (C and x86) (25%) – IllinX
! Linux style OS
! 5 checkpoints
! Group of 4

! Environment Setup
! Must be completed on a Lab machine via Remote Desktop
! Login to gitlab UIUC before your demo!

! Demos will be on Discord during Office Hours
! You will share your screen and the TA will give you instructions
! Prepare for Git!

! Learn how to do basic operations
! Preferably using git bash

Lab & Office Hours

! ECEB 3026 is dedicated to ECE 391 only
! If you see students from other class and the lab is full, tell them to leave (be nice)
! Only lab with office hours!

! You may lock your machine AND leave a note for up to 30 minutes (except for
MP0, which is 4 hours max)

! Trash must go outside the lab
! Do NOT block the door (either open or close)
! Windows (the physical ones) don’t open so stay fresh
! Write your name on the queue if you want to ask questions

! Queue is on the course website
! Be prepared for questions from the TA
! You must be in ECEB 3026 when we call your name

Online Office Hours

! Using the class Discord server and the 391 Queue
! Instructions on how to join will be posted later today

! Refer to the schedule on the website to see when a TA will be online
! Any temporary changes will be posted on Piazza

! Hold them accountable! If they’re not there and there’s no edit on
Piazza – Complain!

GNU Debugger (GDB)

! Some useful commands
! Ctrl+c: interrupt the current running program so you can use other commands
! info reg (ir): show all current values of the registers
! continue (c): continue to run the program you interrupted
! run (r): run the program
! step (s): executes the next instruction, if the next instruction is a function, this will

step into it
! stepi (si): execute the next machine instruction (useful for inline assembly)
! next (n): executes the next instruction, if the next instruction is a function, this will

execute the entire function
! breakpoint (b): allows you to set breakpoints, either function names or line

numbers, you can also specify file names too.

! Distributed version control system
! Useful commands

! git pull
! git push
! git commit
! git status
! git reset
! git diff

Make & Makefile

! A Makefile is a script that make runs
! Basically you put the compilation command you normally run in the

terminal in this file and give the target a name
! Example:

! Running “make hello” to execute that target. Necessary dependencies
will also be run automatically

! Running “make” with no arguments will run the target “all:” if it exists

! We do not cover this in the lectures / discussions

Environment

! V: class drive, where you find your MP0 materials
! Z: work drive, your VMs and your source codes go here, mounted

as /workdir/ inside the VMs (not mounted in working from home)
! U: EWS Windows home drive, do NOT use this one
! Shortcuts

! test_nodebug
! test_debug

! QEMU troubleshooting
! Check file “C:\qemu-1.5.0-win32-sdl\stderr.txt” if VMs are not starting

Environment

Some useful suggestions

! Always attend lectures and discussions as long as you don’t have
conflicts (which you shouldn’t).

! Use Piazza
! Everything course related will be posted

! Take full advantage of the course website
! homework and MP doc, OH information, syllabus, practice exams and

other useful references.
! Learn Git!

! We use Gitlab for MP code distribution and submission. Make sure you
have access to Gitlab through your netID.

! For office hour, we have a website to keep track of question queue
and TA’s effort to guarantee fairness.

Some useful suggestions

! Make sure to start early on MPs.
! Think and read before you raise any questions.

! Questions are highly welcome, but we will be more glad to help if we
know that you’ve already put some effort looking for answers. (RTDC =
Read The Document Carefully)

! Kind feedbacks to the course are always welcome.
! Do NOT cheat
! Have fun!

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com