Assembly Language Programming: Difference between revisions

From Class Wiki
Jump to navigation Jump to search
Line 79: Line 79:
**[https://roboticsclub.org/redmine/projects/infotron/wiki/ProgramMSP430 Infotron Tutorials on Programming the MSP430 LaunchPads]
**[https://roboticsclub.org/redmine/projects/infotron/wiki/ProgramMSP430 Infotron Tutorials on Programming the MSP430 LaunchPads]
**[https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/362204/1366058#1366058 How to program other MSP430s with your Launchpad]
**[https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/362204/1366058#1366058 How to program other MSP430s with your Launchpad]
**[https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/294330/1026499 Some notes on porting MSP430G2553 code to the MSP430F5529. Note: There are differences in the following:
***The F5xxx has USB and a bunch more features.
***[http://www.ti.com/lit/an/slaa396/slaa396.pdf A TI App Note on the differences between the 5xxx and the previous ones.]
***The F5xxx doesn't have PxSEL2, and the PxSEL need to be adjusted because of different pinouts. I find pages 25-28 of the [http://www.ti.com/lit/ug/slau533c/slau533c.pdf F5529 Launchpad Manual] useful for these conversions.
***The PMM ([https://focus.ti.com/en/download/mcu/Understanding-the-New-'5xx-Integrated-Power-Management-Modul.pdf Power Management Module]), particualarly the Digitally Controlled Oscillator (DCO) and Frequency Locked Loop (FLL) of the clock system is significantly different.
***The USCI (UART, SPI and I2C serial communications) Interrupts have been consolidated. For example see section 39.3.15 of the [http://www.ti.com/lit/ug/slau208o/slau208o.pdf F5xxx User Guide].
=====CC3100 SimpleLink Wi-Fi Family=====
=====CC3100 SimpleLink Wi-Fi Family=====
*[http://www.ti.com/lit/ug/swru375a/swru375a.pdf CC3100 BoosterPack Getting Started Guide]
*[http://www.ti.com/lit/ug/swru375a/swru375a.pdf CC3100 BoosterPack Getting Started Guide]

Revision as of 07:32, 22 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

$ unset JAVA_TOOL_OPTIONS 

before running the installer. There is some more information for Linux installs here. I also found out that installing Grace from the App Center makes the App Center blank thereafter, unless you reinstall CCSV6.1.

  • 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

2014 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.

2015 Robot Information