Computer System Laboratory

- 2018 Fall, CSIE 3311, 二789, 德田202

- 薛智文, cwhsueh+CSL@csie.ntu.edu.tw

核心能力關聯

  • 具有資訊、數學、及科學知識之能力
  • 具有資訊理論、硬體、軟體、與應用之專業知識
  • 能使用軟體工具或元件解決問題
  • 能分析、設計、實作、整合、測試、與評估資訊系統
  • 具備良好溝通與團隊合作之能力
  • 參與研究計畫並具備報告撰寫及科技簡報之能力

Forum

Announcement

  • 0911: Lectures begin. Please group here.slides.
  • 1002: Please bring your RPi today.
  • 0116: Final grade here.

LAB Reports

Questions

  • No need to copy these questions to your report.
  • Lab1
    1. Why do we need a bootloader? What your RPi bootloader in Lab1 does not do?
  • Lab2
    1. U-Boot has many persistent environment variables. The variable “bootdelay” is one of the most important. Show in the report that you can set it to be longer than the original one. What happens when it is set to 0? You don't need to test the latter question on your RPi.
    2. Consider the following senario: You are developing a bootloader and an OS kernel, both of which run on x86-64. You want to do this work on a x86-64 Linux, that is, you write C and assembly code and compile them on a x86-64 Linux. If you use the native GCC provided by the x86-64 Linux to compile your code, what trouble will you get?
  • Lab3
    1. Why don't we need to modify the 'config.txt' to tell the firmware which image to be loaded in this lab?
  • Lab4
    1. Try to figure out how a RTOS (Real-Time Operating System) can be useful for such kind of computing system in this lab
  • Lab5
    1. The question in Lab requirement: how can you make the resolution of ucos timing higher? Please point out what you've done to the source code of ucos to achieve this and give it an explanation.
    2. Are you able to simulate a timer/alarm based on the knowledge gained from this lab? If so, please explain your method. On the other hand, please give it a survey on how ucos-II/III achieve this (using interrupt and the Timer Task).
  • Lab6
    1. Explain how the function loop() is called in exercise 2. You may refer to the link in the reference page.
    2. How do you transfer the program files to Raspberry Pi? Is there any inconvenience?
  • Lab7
    1. In many Linux implementation, including our case, every user process shares the same virtual address space with the kernel. In other words, every user process can see the kernel in higher address, and the kernel can see the current user process in lower address. The kernel surely has enough execution privlege to access all user processes directly (you may verify it by replacing the copy_to_user() in your kernel module with direct access). Why do we still use copy_to_user() and copy_from_user() to transfer data between the kernel and user processes?

Specification

Reports will be posted in few days after each deadline.

Turn in a report by lab leader (no more than 2 pages) in the second day of the lab including:

  • The problems you encountered and how you fixed them in the lab.
  • Your comments or any other questions from the lab.
  • The answer of the corresponding lab question above.
  • Everyone needs to be a lab leader at least once.

FTP Information

  • Send by email to TA (asssde2002@gmail.com) for this time.

Scores

* Raw scores


Grading (subject to change):

Scoring           I     II
● Proposal       0%     5% by groups of 1-2 teams.
● Presentation   0%     5% by groups.
● LAB   (7x3+5x10)% (7x3)% by teams and weighted by team leader on completeness (LAB1-7) 
                           and by groups on earlier finish time(LAB 8-12), 
                           2 students as a team share one set of equipment.  
● LAB Report (7x2)% (7x2)% by teams and weighted by team leader biweekly.
● Project        0%    20% by groups.
● Project Report 0%    20% by groups.
● Participation 15%    15% by students, including the attendance and lab discussion.
II is by approval of groups with big enough projects, those who choose this only need to finish the first 7 labs.

Term Project

One in the following topics by groups.
* Embedded Systems
  * uCOSII/III on RPie (porting)
  * quadcopter (flight control)
  * myRobot (house cleaning, ladder climber, segway, ...)
  * PID car control (speed racing)
  * 6-axis Robot Arm (hand mimics)
  * ...
* Sensor Network
* IOT
* ...

Documents

References

TA

    • office hour: by appointment location: R408
    • e-mail: asssde2002@gmail.com
courses/107_1/csl.txt · 上一次變更: 2019/01/16 01:25 由 cwhsueh
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0