Assembly Language Programming: Difference between revisions

From Class Wiki
Jump to navigation Jump to search
Line 23: Line 23:
*[https://www.scss.tcd.ie/~waldroj/3d1/arm_arm.pdf ARM Reference Manual] Section A of this manual is the most use.
*[https://www.scss.tcd.ie/~waldroj/3d1/arm_arm.pdf ARM Reference Manual] Section A of this manual is the most use.
====Raspberry Pi====
====Raspberry Pi====
Depending on the version, your pi may use ARM6 or ARM7. There are actually quite a lot of good assembly language information for programming the raspberry pi.
Depending on the version, your pi may use ARM6 or ARM7. There is actually quite a lot of good assembly language information for programming the raspberry pi.
*[http://www.microdigitaled.com/ARM/ASM_ARM/Software/ARM_Assembly_Programming_Using_Raspberry_Pi_GUI.pdf This document shows how to use gnu tools from the command line (even over ssh if you have no display handy) and then how to use the Code::Blocks IDE for Raspberry Pi Assembly programming.] This also seems to apply to the Odroid C1 board running Ubuntu and probably other Odroid boards as well.
*[http://www.microdigitaled.com/ARM/ASM_ARM/Software/ARM_Assembly_Programming_Using_Raspberry_Pi_GUI.pdf This document shows how to use gnu tools from the command line (even over ssh if you have no display handy) and then how to use the Code::Blocks IDE for Raspberry Pi Assembly programming.] This also seems to apply to the Odroid C1 board running Ubuntu and probably other Odroid boards as well.



Revision as of 11:50, 8 July 2015

Useful Links for the Assembly Language Programming Class

ARM7 Links

Raspberry Pi

Depending on the version, your pi may use ARM6 or ARM7. There is actually quite a lot of good assembly language information for programming the raspberry pi.

TI MSP430 Links

Toolchain

  • Code Composer Studio 6 for MSP430 User's Guide
  • Assembly Language Tools This manual also has some good data on the linker, including the section "Using Linker Symbols in C/C++ Applications".
  • MSP430 Optimizing C/C++ Compiler (See Section 6.5 and following for how to mix C/C++ and Assembly. It is really best to read the entire chapter though, as it is all pertinent to mixing C and Assembly. It will also help you if you want to program in C, as it tells how the C compiler uses the memory, the stack, the registers, etc., and once you understand the processor as you learn to do when you learn its assembly language, it is very interesting to see how that all works in C.)
  • TI Cloud Tools This includes CCS Cloud which allows you to compile and flash, but not debug. This is a partial solution to the problem that Code Composer Studio is not available natively on OS X.
  • OS X Native Toolchain Installer
GCC Compiler

Evaluation Board Data

CC3100 SimpleLink Wi-Fi Family

Robot Information

  • HSR-1425CR Continuous Rotation Servo Datasheet
  • Schematics These are rather crude schematics of the robot circuit board. There are two cuts and jumps that are not reflected, at least on the last one. The effect is to change the photo transistors from a common emitter to a common collector configuration. You can see the change scratched in just below the word Fairchild on the hand drawn schematic. Basically the resistor and photo transistor are reversed in order. I believe both photo transistors are swapped to common collector configuration.