Help Programming ARM7TDMI-S in Assembly

  • #1
JohnSmith0909
12
1
Hello friends,

I'm looking to program the ARM7TDMI-S in assembly. Can anyone recommend any good development boards? Can anyone recommend an IDE? Can anyone recommend a textbook that would be good for leaning how to program this processor in Assembly? I know various other programming languages but have never learned ARM assembly.

Thanks and let me know.
 
Last edited:
Computer science news on Phys.org
  • #2
I'd recommend checking out ARM's website.
 
  • #4
The ARM7 architecture is nearly 30 years old so I think you are going to struggle finding usable resources for it. Why are you interested in this? Do you have any assembly language experience? Do you have any RISC assembly language experience?
 
  • #5
Hey thanks. I'm interested in it because it was the cpu used in the Nintendo Gameboy advance. I'd like to learn reverse engineering of games on it and just programming it in general. I've been using Ghidrea to break down the ROMs to raw assembly code and trying to understand them but it's so many functions.
.I don't have any Arm assembly experience. So I was hoping somebody could recommend like a good textbook on this as well as a development board?

I do have knowledge of other programming languages but not assembly.
 
  • #6
JohnSmith0909 said:
I don't have any Arm assembly experience.
Following up on @pbuk's question, do you have an assembly programming experience? It's quite different from programming in higher-level languages.

There aren't a lot of textbooks on ARM programming out there, but I found a website (http://www.davespace.co.uk/arm/introduction-to-arm/books.html) that lists three resources
  • ARM System Developers Guide
  • ARM System-on-Chip Architecture (2nd ed.)
  • ARM Architecture Reference Manual (2nd ed.)
 
  • #7
JohnSmith0909 said:
I've been using Ghidrea to break down the ROMs to raw assembly code and trying to understand them but it's so many functions.
Once you get an assembly language listing, are you able to follow what different blocks of the code are doing? Can you work out excactly whate each instruction does?
Have you got a copy of the Instruction Set Reference? It contains all the detail you need.
https://www.ecs.csun.edu/~smirzaei/docs/ece425/arm7tdmi_instruction_set_reference.pdf
 
  • Like
Likes sysprog
  • #8
Hello friends, I am able to figure out what different pieces of code are doing. Is anyone able to point me towards perhaps a fully online class on ARM assembly from a college or university that I can take?
 
  • #10
YoshiMoshi said:
Hello friends, I am able to figure out what different pieces of code are doing. Is anyone able to point me towards perhaps a fully online class on ARM assembly from a college or university that I can take?

Regarding the developer's kit, it should be something built around a good microcontroller, e.g. the NXP LPC2300 (link is to a Power Point Presentation pdf).

Perhaps also check out hitex.com ##-## you could start here: Hitex Indsider's Guide (pdf) to the LPC2300 microcontroller). Hitex offers free webinars and priced training courses, mostly in German, but some in English.

You can learn a lot about embedded systems ##-## RTOS, interrupts, etc. ##-## while doing all of your coding in C language; however, your ambitious reverse engineering project will require strong assembly language skills . . .
 

Similar threads

Back
Top