Speak now
Please Wait Image Converting Into Text...
Embark on a journey of knowledge! Take the quiz and earn valuable credits.
Challenge yourself and boost your learning! Start the quiz now to earn credits.
Unlock your potential! Begin the quiz, answer questions, and accumulate credits along the way.
Course Queries Syllabus Queries 2 years ago
Posted on 16 Aug 2022, this text provides information on Syllabus Queries related to Course Queries. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.
Turn Your Knowledge into Earnings.
I have a class on low level programming which requires a final project (syllabus at the end). It is basically a piece of software that puts to use all you learned.
I had a few ideas, like designing my own Roguelike (should be kind of like Nethack, only single-player), but I'd like some suggestions on alternatives. It needn't be a game, can be anything. Timeframe is a month and a half, and I have other projects, etc. so it shouldn't be too time consuming to implement.
Requirements:
The peripherals we were lectured on were:
This is the abridged syllabus:
Input/Output peripherals and their operation Direct mapping in a process address space Access to peripherals in polled mode and by interrupt Processor interrupts in the IA-32 architecture and the interrupt controller. Writing interrupt service routines in Assembly and in C Study of some typical personal computer peripherals, such as keyboard, mouse, graphics card, real time clock, timer, loudspeaker and serial port. Programming in the C programming language: main differences with respect to C++ language; structured programming in C. Memory layout of a process. Function calls: mechanisms, parameter passing, storage of local variables and return values. Combined programming in C and the IA-32 processor family assembly. Creation and use of libraries. Static linking of object code. Use of software development tools: gcc, make, gdb, ar, prof, diff, patch and SVN
Input/Output peripherals and their operation Direct mapping in a process address space Access to peripherals in polled mode and by interrupt Processor interrupts in the IA-32 architecture and the interrupt controller. Writing interrupt service routines in Assembly and in C Study of some typical personal computer peripherals, such as keyboard, mouse, graphics card, real time clock, timer, loudspeaker and serial port.
Programming in the C programming language: main differences with respect to C++ language; structured programming in C. Memory layout of a process. Function calls: mechanisms, parameter passing, storage of local variables and return values. Combined programming in C and the IA-32 processor family assembly. Creation and use of libraries. Static linking of object code.
Use of software development tools: gcc, make, gdb, ar, prof, diff, patch and SVN
Thank you for your time!
One simple option is to go for games. They can always use several devices, such as mouse, keyboard, com/tag/time">timers, graphics card and (depending what you do) the RTC.
Another option is to go for a "music composer" application. For instance, you could write (using the keyboard and mouse) a song(note frequency, duration) and then let the computer speaker play it.
You could also go for a "clock/calendar application". It could draw a clock in the screen(which might be harder than it might look if you draw an analog one on the screen), and then let the user adjust the time of the day(saving the changes in the RTC). The clock could also include alarm and some ticking sound. As for the calendar, you could also allow the user to create "events" in the calendar, which could work a bit like alarms.
You could also try to write your own "notepad"-like application. This would require having a working GUI(write area, menus, etc.). This could either be in text or graphics mode. You could detect the keyboard being pressed to add character, handle CAPS LOCK(giving you the opportunity to mess up with the keyboard LEDs). You could use mouse position/clicks to change position in text editor or trigger menus. Then com/tag/time">timers to have the blinking caret in the text editor. Clicking a disabled menu option could cause a short speaker sound to indicate an invalid action.
I'd recommend com/tag/writing">writing most of the code in C, except for little bits in Assembly. ISRs are a good opportunity for Assembly code.
Regarding state machines:
Most of the devices you mentioned can be accessed with interrupts. Unfortunately, I can not think of good opportunities for polling...
No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.
Course Queries 4 Answers
Course Queries 5 Answers
Course Queries 1 Answers
Course Queries 3 Answers
Ready to take your education and career to the next level? Register today and join our growing community of learners and professionals.