查看: 2827|回复: 0

[教程] 【一网打尽】Baking Pi – Operating Systems Development

[复制链接]
  • TA的每日心情
    开心
    2016-8-4 10:56
  • 签到天数: 242 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-3-26 15:02:01 | 显示全部楼层 |阅读模式
    分享到:
    [size=1.125em]Raspberry Pi

    Baking Pi – Operating Systems Development
    [size=0.75em]This course has not yet been updated to work with the Raspberry Pi models B+ and A+. Some elements may not work, in particular the first few lessons about the LED.
    [size=0.75em]Welcome to Baking Pi: Operating Systems Development! Course by Alex Chadwick. Version 1.0c (July 2013).
    [size=0.75em]This website is here to guide you through the process of developing very basic operating systems on the Raspberry Pi! This website is aimed at people aged 16 and upwards, although younger readers may still find some of it accessible, particularly with assistance. More lessons may be added to this course in time.
    [size=0.75em]This course takes you through the basics of operating systems development in assembly code. I have tried not to assume any prior knowledge of operating systems development or assembly code. It may be helpful to have some programming experience, but the course should be accessible without. The Raspberry Pi forums are full of friendly people ready to help you out if you run into trouble. This course is divided into a series of 'lessons' designed to be taken in order as below. Each 'lesson' includes some theory, and also a practical exercise, complete with a full answer.
    [size=0.75em]Rather than leading the reader through the full details of creating an Operating System, these tutorials focus on achieving a few common tasks separately. Hopefully, by the end, the reader should know enough about Operating Systems that they could try to put together everything they've learned and make one. Although the lessons are generally focused on creating very specific things, there is plenty of room to play with what you learn. Perhaps, after reading the lesson on functions, you imagine a better style of assembly code. Perhaps after the lessons on graphics you imagine a 3D operating system. Since this is an Operating Systems course, you will have the power to design things how you like. If you have an idea, try it! Computer Science is still a young subject, and so there is plenty left to discover!
    Contents
    • 1 Requirements
    • 2 Lessons

    1 Requirements
    [size=0.75em]In order to complete this course you will need a Raspberry Pi with an SD card and power supply, as well as another computer running a version of Linux, Microsoft Windows or Mac OS X, capable of writing to the SD card, and installing software. It is helpful, but not necessary, for your Raspberry Pi to be able to be connected to a screen.
    [size=0.75em]In terms of software, you require a GNU compiler toolchain that targets ARMv6. Links for downloads are available on theDownloads Page, along with model answers for all of the exercises.
    2 LessonsTable 2.1 - LessonsNameDescription
    0IntroductionThis introductory lesson does not contain a practical element, but exists to explain the basic concepts of what is an operating system, what is assembly code, and other important basics. If you just want to get straight into practicals, it should be safe to skip this lesson.
    OK LED Series (Beginner)
    1OK01The OK01 lesson contains an explanation about how to get started and teaches how to enable the 'OK' or 'ACT' LED on the Raspberry Pi board near the RCA and USB ports.
    2OK02The OK02 lesson builds on OK01, by causing the 'OK' or 'ACT' LED to turn on and off repeatedly.
    3OK03The OK03 lesson builds on OK02 by teaching how to use functions in assembly to make more reusable and rereadable code.
    4OK04The OK04 lesson builds on OK03 by teaching how to use the timer to flash the 'OK' or 'ACT' LED at precise intervals.
    5OK05The OK05 lesson builds on OK04 using it to flash the SOS morse code pattern (...---...).
    Screen Series (Advanced)
    6Screen01The Screen01 lesson teaches some basic theory about graphics, and then applies it to display a gradient pattern to the screen or TV.
    7Screen02The Screen02 lesson builds on Screen01, by teaching how to draw lines and also a small feature on generating pseudo random numbers.
    8Screen03The Screen03 lesson builds on Screen02 by teaching how to draw text to the screen, and introduces the concept of the kernel command line.
    9Screen04The Screen04 lesson builds on Screen03 by teaching how to manipulate text to display computed values on the screen.
    Input Series (Advanced)
    10Input01The Input01 lesson teaches some theory about drivers, and linking programs, as well as keyboards. It is then applied to print out input characters to the screen.
    11Input02The Input02 lesson builds on Input01 by teaching how to make a command line interface for an Operating System.






    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 13:35 , Processed in 0.107681 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.