The proposal describes WHAT the program will do.
Typically each idea is a 1-2 page description of an idea, explaining what part of the code will be written in assembly language.
Multiple project ideas are recommended to save time in case your first idea is not appropriate for the course.
Make sure to wait until you receive approval before beginning work on your project.
Search “assembly language project” on the Internet for ideas and ask questions if you need help.
Your proposal should be submitted on Bb as a .DOC .DOCX or .PDF file format. (Please submit your proposal(s) as separate doc/docx/pdf files, individually. Please do not zip them into a combined file. Thanks.)
Your proposal should include the following:
- Your name, red ID#
- Program description: a page or so describing what your program will do. Pictures, block diagrams or flow charts are encouraged if they help explain what you’re going to do.
- Specify which function(s) will be written in assembly language, the inputs and outputs, the process and a very high level description of how the assembly code will work.
- Specify your hardware/software platform: ARM/Segger, Android ARM on a mobile device, ARM on a Raspberry Pi bare metal (no OS). Bare metal on some other ARM hardware like Beagle Bone Black. (Other ISAs like AVR, PIC, MIPS, etc., X86 on Windows with Eclipse, Xcode on Mac OS are also acceptable, but these are not recommended unless you already have experience with that ISA!)
- List any special hardware, libraries, or other resources you will use.
It’s best (but not strictly required) if you can find functions that are easier or better implemented in assembly than C, such as bit manipulation, shift, error detection and correction like parity operations, CRC (cyclic redundancy code), random number generation like LFSR, low-level I/O functions, memory intensive or special math functions like an FFT that must be done quickly or more efficiently in assembly. Some things, such as graphics may be appropriate if they directly manipulate the graphics memory, but not if they go through an abstraction API layer GUI like the ones on Windows, X-windows or the like.
- PLEASE DON”T PROCRASTINATE – the longer you wait to propose something, the less time you have to work on it, and the more likely someone else will have chosen that project idea.
- NO PLAGIARISM – You must write original, unique code for one of the approved instruction sets above.
- If you can get your name on a coherent, plausible proposal, you’ll get full credit on this if you don’t wait too long to turn it in.