Activating ARM9 with a working OS » History » Version 4
Vanč Levstik, 10.12.2010 03:20
1 | 1 | Aleksander Bešir | h1. Activating ARM9 with a working OS |
---|---|---|---|
2 | |||
3 | 2 | Aleksander Bešir | {{toc}} |
4 | |||
5 | 1 | Aleksander Bešir | h2. Basic concept |
6 | 3 | Vanč Levstik | |
7 | h3. Hardware |
||
8 | |||
9 | !http://www.shrani.si/f/2A/128/4kJtfyhW/arm-picture.jpg! |
||
10 | We will be using FRI-SMS 32-bit microcontroller based on AT91SAM9620 chip from ARM9 family. It has fast ROM and RAM memories and embedds Ethernet MAC, one USB Device Port, and a USB Host controller. It also integrates several standard peripherals, such as the USART, SPI, TWI, Timer |
||
11 | Counters, Synchronous Serial Controller, ADC and MultiMedia Card Interface. |
||
12 | More about microcontroller can be found in "Manual":http://laps.fri.uni-lj.si/fri-sms/datoteke/AT91SAM9260.pdf |
||
13 | |||
14 | h3. Software |
||
15 | |||
16 | For programming the device we will be using AT91 In-System programmer "SAM-BA":http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3883. |
||
17 | We will also use "U-BOOT":http://www.denx.de/wiki/U-Boot as a second-step bootloader. |
||
18 | Our operating system will be Linux, kernel version 2.6.27. |
||
19 | |||
20 | |||
21 | h2. Installing OS |
||
22 | |||
23 | h3. Concept |
||
24 | |||
25 | FRI-SMS is built, so it boots from integrated ROM memory. It looks for bootloader into serial flash memory, if it is found it loads into internal SDRAM. This first-step bootloader then sets SDRAM controller and loads second-step bootloader(U-BOOT) into external SDRAM end executes it. |
||
26 | Second-step bootloader takes care of other microcontroller settings and runs the OS. |
||
27 | |||
28 | If bootloader is not found in ROM it searches for bootloader thtrough USB interface and then through RS232 interface and waits there in loop. |
||
29 | |||
30 | |||
31 | h3. Loading software into flash ROM memory |
||
32 | |||
33 | * Installing SAM-BA |
||
34 | 4 | Vanč Levstik | After installing SAM-BA we have to set the drivers correctly. SAM-BA is based on setting connection throuogh COM port, so we have to install a driver which sets the PC, so it recognizes the USB as COM port. SAM-BA install includes a driver, but it does not work on x64 |
35 | based operating systems such as Windows Vista 64-bit and Windows 7 64-bit. Attached is a modified driver, so it works on those systems (tested on Windows 7). |
||
36 | 1 | Aleksander Bešir | |
37 | |||
38 | 4 | Vanč Levstik | With SAM-BA we establish a connection between PC and FRI-SMS, then we enable DataFlash on external flash memory. |
39 | # First we load second-step bootloader U-BOOT from address *0x8400* onward |
||
40 | # Next step is Linux OS kernel, which we load on address *0x42000* |
||
41 | # Last step is first-step bootloader, which must be loaded last, because we can't load any more files after we load first step loader (at least until system restore) |