README.Sandpoint8240 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. The port was tested on a Sandpoint 8240 X3 board, with U-Boot
  2. installed in the flash memory of the CPU card. Please use the
  3. following DIP switch settings:
  4. Motherboard:
  5. SW1.1: on SW1.2: on SW1.3: on SW1.4: on
  6. SW1.5: on SW1.6: on SW1.7: on SW1.8: on
  7. SW2.1: on SW2.2: on SW2.3: on SW2.4: on
  8. SW2.5: on SW2.6: on SW2.7: on SW2.8: on
  9. CPU Card:
  10. SW2.1: OFF SW2.2: OFF SW2.3: on SW2.4: on
  11. SW2.5: OFF SW2.6: OFF SW2.7: OFF SW2.8: OFF
  12. SW3.1: OFF SW3.2: on SW3.3: OFF SW3.4: OFF
  13. SW3.5: on SW3.6: OFF SW3.7: OFF SW3.8: on
  14. The followind detailed description of installation and initial steps
  15. with U-Boot and QNX was provided by Jim Sandoz <sandoz@lucent.com>:
  16. Directions for installing U-Boot on Sandpoint+Unity8240
  17. using the Abatron BDI2000 BDM/JTAG debugger ...
  18. Background and Reference info:
  19. http://u-boot.sourceforge.net/
  20. http://www.abatron.ch/
  21. http://www.abatron.ch/BDI/bdihw.html
  22. http://www.abatron.ch/DataSheets/BDI2000.pdf
  23. http://www.abatron.ch/Manuals/ManGdbCOP-2000C.pdf
  24. http://e-www.motorola.com/collateral/SPX3UM.pdf
  25. http://e-www.motorola.com/collateral/UNITYX4CONFIG.pdf
  26. Connection Diagram:
  27. ===========
  28. === ===== |----- |
  29. | | <---------------> | | | | |
  30. |PC | rs232 | BDI |=============[] | |
  31. | | |2000 | BDM probe | | |
  32. | | <---------------> | | |----- |
  33. === ethernet ===== | |
  34. | |
  35. ===========
  36. Sandpoint X3 with
  37. Unity 8240 proc
  38. PART 1)
  39. DIP Switch Settings:
  40. Sandpoint X3 8240 processor board DIP switch settings, with
  41. U-Boot to be installed in the flash memory of the CPU card:
  42. Motorola Sandpoint X3 Motherboard:
  43. SW1.1: on SW1.2: on SW1.3: on SW1.4: on
  44. SW1.5: on SW1.6: on SW1.7: on SW1.8: on
  45. SW2.1: on SW2.2: on SW2.3: on SW2.4: on
  46. SW2.5: on SW2.6: on SW2.7: on SW2.8: on
  47. Motorola Unity 8240 CPU Card:
  48. SW2.1: OFF SW2.2: OFF SW2.3: on SW2.4: on
  49. SW2.5: OFF SW2.6: OFF SW2.7: OFF SW2.8: OFF
  50. SW3.1: OFF SW3.2: on SW3.3: OFF SW3.4: OFF
  51. SW3.5: on SW3.6: OFF SW3.7: OFF SW3.8: on
  52. PART 2)
  53. Connect the BDI2000 Cable to the Sandpoint/Unity 8240:
  54. BDM Pin 1 on the Unity 8240 processor board is towards the
  55. PCI PMC connectors, or away from the socketed SDRAM, i.e.:
  56. ====================
  57. | ---------------- |
  58. | | SDRAM | |
  59. | | | |
  60. | ---------------- |
  61. | |~| |
  62. | |B| ++++++ |
  63. | |D| + uP + |
  64. | |M| +8240+ |
  65. | ~ 1 ++++++ |
  66. | |
  67. | |
  68. | |
  69. | PMC conn ====== |
  70. | ===== ====== |
  71. | |
  72. ====================
  73. PART 3)
  74. Setting up the BDI2000, and preparing for TCP/IP network comms:
  75. Connect the BDI2000 to the PC using the supplied serial cable.
  76. Download the BDI2000 software and install it using setup.exe.
  77. [Note: of course you can also use the Linux command line tool
  78. "bdisetup" to configure your BDI2000 - the sources are included on
  79. the floppy disk that comes with your BDI2000. Just in case you don't
  80. have any Windows PC's - like me :-) -- wd ]
  81. Power up the BDI2000; then follow directions to assign the IP
  82. address and related network information. Note that U-Boot
  83. will be loaded to the Sandpoint via tftp. You need to either
  84. use the Abatron-provided tftp application or provide a tftp
  85. server (e.g. Linux/Solaris/*BSD) somewhere on your network.
  86. Once the IP address etc are assigned via the RS232 port,
  87. further communication with the BDI2000 will happen via the
  88. ethernet connection.
  89. PART 4)
  90. Making a TCP/IP network connection to the Abatron BDI2000:
  91. Telnet to the Abatron BDI2000. Assuming that all of the
  92. networking info was loaded via RS232 correctly, you will see
  93. the following (scrolling):
  94. - TARGET: waiting for target Vcc
  95. - TARGET: waiting for target Vcc
  96. PART 5)
  97. Power up the target Sandpoint:
  98. If the BDM connections are correct, the following will now appear:
  99. - TARGET: waiting for target Vcc
  100. - TARGET: waiting for target Vcc
  101. - TARGET: processing power-up delay
  102. - TARGET: processing user reset request
  103. - BDI asserts HRESET
  104. - Reset JTAG controller passed
  105. - Bypass check: 0x55 => 0xAA
  106. - Bypass check: 0x55 => 0xAA
  107. - JTAG exists check passed
  108. - Target PVR is 0x00810101
  109. - COP status is 0x01
  110. - Check running state passed
  111. - BDI scans COP freeze command
  112. - BDI removes HRESET
  113. - COP status is 0x05
  114. - Check stopped state passed
  115. - Check LSRL length passed
  116. - BDI sets breakpoint at 0xFFF00100
  117. - BDI resumes program execution
  118. - Waiting for target stop passed
  119. - TARGET: Target PVR is 0x00810101
  120. - TARGET: reseting target passed
  121. - TARGET: processing target startup ....
  122. - TARGET: processing target startup passed
  123. BDI>
  124. PART 6)
  125. Erase the current contents of the flash memory:
  126. BDI>era 0xFFF00000
  127. Erasing flash at 0xfff00000
  128. Erasing flash passed
  129. BDI>era 0xFFF04000
  130. Erasing flash at 0xfff04000
  131. Erasing flash passed
  132. BDI>era 0xFFF06000
  133. Erasing flash at 0xfff06000
  134. Erasing flash passed
  135. BDI>era 0xFFF08000
  136. Erasing flash at 0xfff08000
  137. Erasing flash passed
  138. BDI>era 0xFFF10000
  139. Erasing flash at 0xfff10000
  140. Erasing flash passed
  141. BDI>era 0xFFF20000
  142. Erasing flash at 0xfff20000
  143. Erasing flash passed
  144. PART 7)
  145. Program the flash memory with the U-Boot image:
  146. BDI>prog 0xFFF00000 u-boot.bin bin
  147. Programming u-boot.bin , please wait ....
  148. Programming flash passed
  149. PART 8)
  150. Connect PC to Sandpoint:
  151. Using a crossover serial cable, attach the PC serial port to the
  152. Sandpoint's COM1. Set communications parameters to 8N1 / 9600 baud.
  153. PART 9)
  154. Reset the Unity and begin U-Boot execution:
  155. BDI>reset
  156. - TARGET: processing user reset request
  157. - TARGET: Target PVR is 0x00810101
  158. - TARGET: reseting target passed
  159. - TARGET: processing target init list ....
  160. - TARGET: processing target init list passed
  161. BDI>go
  162. Now see output from U-Boot running, sent via serial port:
  163. U-Boot 1.1.4 (Jan 23 2002 - 18:29:19)
  164. CPU: MPC8240 Revision 1.1 at 264 MHz: 16 kB I-Cache 16 kB D-Cache
  165. Board: Sandpoint 8240 Unity
  166. DRAM: 64 MB
  167. FLASH: 2 MB
  168. PCI: scanning bus0 ...
  169. bus dev fn venID devID class rev MBAR0 MBAR1 IPIN ILINE
  170. 00 00 00 1057 0003 060000 13 00000008 00000000 01 00
  171. 00 0b 00 10ad 0565 060100 10 00000000 00000000 00 00
  172. 00 0f 00 8086 1229 020000 08 80000000 80000001 01 00
  173. In: serial
  174. Out: serial
  175. Err: serial
  176. =>
  177. PART 10)
  178. Set and save any required environmental variables, examples of some:
  179. => setenv ethaddr 00:03:47:97:D0:79
  180. => setenv bootfile your_qnx_image_here
  181. => setenv hostname sandpointX
  182. => setenv netmask 255.255.255.0
  183. => setenv ipaddr 192.168.0.11
  184. => setenv serverip 192.168.0.10
  185. => setenv gatewayip=192.168.0.1
  186. => saveenv
  187. Saving Environment to Flash...
  188. Un-Protected 1 sectors
  189. Erasing Flash...
  190. done
  191. Erased 1 sectors
  192. Writing to Flash... done
  193. Protected 1 sectors
  194. =>
  195. **** Example environment: ****
  196. => printenv
  197. baudrate=9600
  198. bootfile=telemetry
  199. hostname=sp1
  200. ethaddr=00:03:47:97:E4:6B
  201. load=tftp 100000 u-boot.bin
  202. update=protect off all;era FFF00000 FFF3FFFF;cp.b 100000 FFF00000 ${filesize};saveenv
  203. filesize=1f304
  204. gatewayip=145.17.228.1
  205. netmask=255.255.255.0
  206. ipaddr=145.17.228.42
  207. serverip=145.17.242.46
  208. stdin=serial
  209. stdout=serial
  210. stderr=serial
  211. Environment size: 332/8188 bytes
  212. =>
  213. here's some text useful stuff for cut-n-paste:
  214. setenv hostname sandpoint1
  215. setenv netmask 255.255.255.0
  216. setenv ipaddr 145.17.228.81
  217. setenv serverip 145.17.242.46
  218. setenv gatewayip 145.17.228.1
  219. saveenv
  220. PART 11)
  221. Test U-Boot by tftp'ing new U-Boot, overwriting current:
  222. => protect off all
  223. Un-Protect Flash Bank # 1
  224. => tftp 100000 u-boot.bin
  225. eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
  226. ARP broadcast 1
  227. TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
  228. gateway 145.17.228.1
  229. Filename 'u-boot.bin'.
  230. Load address: 0x100000
  231. Loading: #########################
  232. done
  233. Bytes transferred = 127628 (1f28c hex)
  234. => era all
  235. Erase Flash Bank # 1
  236. done
  237. Erase Flash Bank # 2 - missing
  238. => cp.b 0x100000 FFF00000 1f28c
  239. Copy to Flash... done
  240. => saveenv
  241. Saving Environment to Flash...
  242. Un-Protected 1 sectors
  243. Erasing Flash...
  244. done
  245. Erased 1 sectors
  246. Writing to Flash... done
  247. Protected 1 sectors
  248. => reset
  249. You can put these commands into some environment variables;
  250. => setenv load tftp 100000 u-boot.bin
  251. => setenv update protect off all\;era FFF00000 FFF3FFFF\;cp.b 100000 FFF00000 \${filesize}\;saveenv
  252. => saveenv
  253. Then you just have to type "run load" then "run update"
  254. => run load
  255. eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
  256. ARP broadcast 1
  257. TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
  258. gateway 145.17.228.1
  259. Filename 'u-boot.bin'.
  260. Load address: 0x100000
  261. Loading: #########################
  262. done
  263. Bytes transferred = 127748 (1f304 hex)
  264. => run update
  265. Un-Protect Flash Bank # 1
  266. Un-Protect Flash Bank # 2
  267. Erase Flash from 0xfff00000 to 0xfff3ffff
  268. done
  269. Erased 7 sectors
  270. Copy to Flash... done
  271. Saving Environment to Flash...
  272. Un-Protected 1 sectors
  273. Erasing Flash...
  274. done
  275. Erased 1 sectors
  276. Writing to Flash... done
  277. Protected 1 sectors
  278. =>
  279. PART 12)
  280. Load OS image (ELF format) via U-Boot using tftp
  281. => tftp 800000 sandpoint-simple.elf
  282. eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
  283. ARP broadcast 1
  284. TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
  285. gateway 145.17.228.1
  286. Filename 'sandpoint-simple.elf'.
  287. Load address: 0x800000
  288. Loading: #################################################################
  289. #################################################################
  290. #################################################################
  291. ########################
  292. done
  293. Bytes transferred = 1120284 (11181c hex)
  294. ==>
  295. PART 13)
  296. Begin OS image execution: (note that unless you have the
  297. serial parameters of your OS image set to 9600 (i.e. same as
  298. the U-Boot binary) you will get garbage here until you change
  299. the serial communications speed.
  300. => bootelf 800000
  301. Loading @ 0x001f0100 (1120028 bytes)
  302. ## Starting application at 0x001f1d28 ...
  303. Replace init_hwinfo() with a board specific version
  304. Loading QNX6....
  305. Header size=0x0000009c, Total Size=0x000005c0, #Cpu=1, Type=1
  306. <...loader and kernel messages snipped...>
  307. Welcome to Neutrino on the Sandpoint
  308. #
  309. other information:
  310. CVS Retrieval Notes:
  311. U-Boot's SourceForge CVS repository can be checked out
  312. through anonymous (pserver) CVS with the following
  313. instruction set. The module you wish to check out must
  314. be specified as the modulename. When prompted for a
  315. password for anonymous, simply press the Enter key.
  316. cvs -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot login
  317. cvs -z6 -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot co -P u-boot