Сегодня совершим путешествие в прошлое. Посмотрим как устроен контроллер ROBO TX из 2009 года.
* CPU AT91SAM9260 ARM926EJ-S (ARM9 family) 200MHz
* SDRAM M12L64164A 8 MB
* FLASH NOR MX29LV160D 2 MB
* LCD ST7565 128x64
* ISI - Camera Interface
* Bluetooth - Blue core 4 external
* USB Device - CDC Serial
* 8 AI/DI
* 4 CNT
* 8 PWMQ
* 2 EXT RS-485
* 1 EXT I2C(5.0V)
Если подключить терминал к контактам DRXD и DTXD на плате ROBO TX, то можно увидеть вывод в консоль во время загрузки. Для подключения понадобится кабель USB-UART с уровнями 3,3 В.
Контактные площадки интерфейса DBGU и JTAG на плате ROBO TX:
Код: Выделить всё
▒Phase0
SdramInit...OK.
FlashInit...OK.
Read boot loader code from flash into SDRAM.....OK.
Starting boot loader
*** 4NetOS - MSC Vertriebs GmbH, Germany ***
Startup0
SysLMemCheck: SRAM0: 000000E8 00001000: Start
SysLMemCheck: Done: OK
SysLMemCheck: SRAM1: 00300000 00301000: Start
SysLMemCheck: Done: OK
SysLMemCheck: SDRAM: 2012EE00 20800000: Start
SysLMemCheck: Done: OK
McuL_Init
Vector Error Setup
MainL: BOOT_FS
FlashInit...OK.
Using FlashFileSystem 0.
FlashFileSystemInit...OK.
CheckFlashFileSystemConsistency...OK.
Loading file "ft_robo_if08.eno"...OK.
*** 4NetOS - MSC Vertriebs GmbH, Germany ***
Startup0
SysLMemCheck: SRAM0: 000001B8 00001000: Start
SysLMemCheck: Done: OK
SysLMemCheck: SRAM1: 00300000 00301000: Start
SysLMemCheck: Done: OK
SysLMemCheck: SDRAM: 200F81A0 20800000: Start
SysLMemCheck: Done: OK
Startup1
ArmMmuV4v5Start: ttb_pa: 200E0000
Startup PHASE II
+000000000- NULL- - SWI Vector Setup
+000000000- NULL- - Error Vector Setup
IRQ-Controller[0]: ATMEL AT91SAM9260 AIC
+000000000- NULL- - MemoryDevicesScanRawSetup: RawPoolCreate()
+000000000- NULL- - RawRegister: AT91SAM9260 SRAM0 start< 0> bytes<00010000> pos<3> status<1>
+000000000- NULL- - RawRegister: AT91SAM9260 SRAM1 start< 300000> bytes<00010000> pos<3> status<1>
+000000000- NULL- - RawRegister: SDRAM used start<20000000> bytes<000f81a0> pos<1> status<3>
+000000000- NULL- - RawRegister: SDRAM free start<200f81a0> bytes<00607e60> pos<1> status<1>
+000000000- NULL- - RawRegister: SDRAM dma_heap start<207f0000> bytes<00010000> pos<6> status<1>
MCU[0]: ATMEL AT91SAM9260
+000000000- STARTUP2- - f_mainck = 18432000 Hz
+000000000- STARTUP2- - f_slck = 32768 Hz
+000000000- STARTUP2- - f_pck = 196608000 Hz
+000000000- STARTUP2- - f_mck = 98304000 Hz
PIO[0]: ATMEL AT91SAM9260 PIOA
+000000000- STARTUP2- - TrapDefine(TRAP_INTERRUPT_IRQ, ExceptIrqEntry)
+000000000- STARTUP2- - IRQ enable
+000000000- STARTUP2- - Project FT_ROBO_IF08 (beta) 4.0 [137] dated 2012-03-19. (13:56:36 MSC-GE/pduc@nbpduc03)
System Timer: ATMEL AT91SAM9260 PIT, TC0
Flash_CFI: M29W160EB 2MB VA:10000000-101FFFFF SN:FFFF-FFFF-FF55-FFFF
Ref.Time RELATIVE 0 sec
+006627441- STARTUP3- - Task shutdown: Transient Task
+016678222- APPLIC- - *** fischertechnik ROBO TX Controller ***
Formatting RamDisk of 512 KB capacity...OK.
Mounting RamDisk of 512 KB capacity...OK.
Flash-Filesystem Version 1.0 found.
Checking consistency of SystemFlashDisk...OK.
Mounting SystemFlashDisk of 1 MB capacity...OK.
Flash-Filesystem Version 1.0 found.
Checking consistency of FlashDisk...OK.
Mounting FlashDisk of 896 KB capacity...OK.
+482611653- APPLIC- - I2C_Setup
HW describe table found in EEPROM:
ASN1
VER = 1.0
HW
MANUF = MSC FREIBURG
NAME = R▒BO TX CONTROLLER
REL = C
SN = 00000▒0000
RONMUX = 000
BOARD
CLK = 18.432MHz
SDRAM = 8MB
FLASH = 2MB
BLUETOOTH = YES
EXT1 = RS485
EXT2 = RS485
TE_T
TESTED = 0
DATM
= XXX-XX-XX▒▒XXXXXXXXXXXXXXXXX▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
+576468424- APPLIC- - Board version is 'C'
+582238769- APPLIC- - Board tested is '0'
+588015625- APPLIC- - Ron Mux is 0
+593191080- APPLIC- - Serial number is "0000000000"
+599836425- APPLIC- - JitterPWM is ON
+605702473- APPLIC- - MainInstancePrimitiveSendAll: ESTABLISH_REQ 20x
+613853190- PLC_MON- PlcMon[0000]- ESTABLISH_REQ
+619149739- PLC_APP- PlcApp[0000]- ESTABLISH_REQ
+624349283- PLC_APP- PlcApp[0000]- PlcAppHostnameSet 844: ROBO TX-547
+631427083- PLC_APP- PlcApp[0000]- PlcAppBdAddrSet 880:
+637465169- PLC_APP- PlcApp[0000]- PlcAppRoleSet: *** Role: LOCAL CONTROLLER ***
+645448567- PLC_APP- PlcApp[0000]- PlcIo_PwmInit() enter
+651345865- PLC_APP- PlcApp[0000]- DMA Buffer initialize
+657546386- PLC_APP- PlcApp[0000]- ready
+662013671- PLC_APP- PlcApp[0000]- idx=91
+666670898- PLC_APP- PlcApp[0000]- idx=89
+671329101- PLC_APP- PlcApp[0000]- idx=90
+675987630- PLC_APP- PlcApp[0000]- idx=90
+680645182- PLC_APP- PlcApp[0000]- idx=90
+685326497- PLC_APP- PlcApp[0000]- SPI 1 initialized
+690908203- PLC_APP- PlcApp[0000]- PlcIo_PwmInit() leave
+697116536- PLC_IOEXT- PlcIoExt[0000]- ESTABLISH_REQ
+702300130- PLC_IOEXT- PlcIoExt[0000]- PlcIoExt_Init: USART3 (921600 Bd 8N1 No Handshake)
+711015299-PLC_UART_BT_RX- PlcUartBt[0000]- BT H.4 HCI UART Transport Layer Protocol
+718535319-PLC_UART_BT_RX- PlcUartBt[0000]- PlcUartBtInit: USART2/MD-4DR (921600 Bd 8N1 RTS/CTS Handshake)
+728164713-PLC_UART_BT_TX- PlcUartBt[0001]- BT H.4 HCI UART Transport Layer Protocol
+735877604- BT- BtHci[0000]- BtHciReset
+741309733- I2C_APP- I2cApp[0000]- ESTABLISH_REQ
+746562174-PLC_USB_SERIAL-PlcUsbSerial[0000]- PlcUsbSerialInit: USB
+752441731-PLC_USB_SERIAL-PlcUsbSerial[0000]- UsbSerial_Init
+758110026- PLC_GUI- PlcGui[0000]- ESTABLISH_REQ
LCD CV9020A - Controller/Driver SITRONIX ST7565P
+767605794- PLC_GUI- PlcGui[0000]- SPI: 9830 kHz (max. 10000 kHz)
+784443033- PLC_DIAG- PlcDiag[0000]- ESTABLISH_REQ
+789672688- APPLIC- - MainInstancePrimitiveSendAll: START_REQ 20x
+797516276- PLC_MON- PlcMon[0000]- START_REQ
+802448079- PLC_APP- PlcApp[0000]- START_REQ
+807688313- PLC_IOEXT- PlcIoExt[0000]- START_REQ
+813923177- I2C_APP- I2cApp[0000]- START_REQ
+819420735- PLC_GUI- PlcGui[0000]- START_REQ
+824854654- PLC_DIAG- PlcDiag[0000]- START_REQ
+832794270- APPLIC- - Task shutdown: Transient Task
+860827962- BT_APP- BtApp[0000]- BT chip present
+878751790- BT_APP- BtApp[0000]- Local BT Device Address: 00:13:7B:54:C8:79
+886899414- BT_APP- BtApp[0000]- PlcAppBdAddrSet 880: 00:13:7B:54:C8:79
+895713216- BT_APP- BtApp[0000]- Local BT Name: ROBO TX
+902174804- BT_APP- BtApp[0000]- BtAppBtLocalNameSet: ROBO TX-547
+925550292- BT- BtHci[0000]- RETURN_LINK_KEYS EVENT
+932157226- BT- BtHci[0000]- Number of Linkkeys: 1
+938622558- BT- BtHci[0000]- 0: BdAddr: 24:C6:96:E4:2B:FF
+945613444- BT- BtHci[0000]- Linkkey: dce3e5be 9c93530b 5ae8e0ae 8402592f
Ref.Time RELATIVE 1 sec
+833564290- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(608x) 364 822], Heap: free.n_bytes_largest=2893672, free.n_bytes=2927456
Ref.Time RELATIVE 3 sec
+959532714- PLC_GUI- PlcGui[0000]- Loaded library file /system/RoboLib.dll
Ref.Time RELATIVE 61 sec
+893557128- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(58x) 606 844 ], Heap: free.n_bytes_largest=2893672, free.n_bytes=2927232
Ref.Time RELATIVE 121 sec
+953562500- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(3x) 607 841] , Heap: free.n_bytes_largest=2893672, free.n_bytes=2927228
Ref.Time RELATIVE 182 sec
+013562825- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(3x) 606 854] , Heap: free.n_bytes_largest=2893672, free.n_bytes=2927232
Ref.Time RELATIVE 482 sec
+313559733- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(3x) 606 844] , Heap: free.n_bytes_largest=2893672, free.n_bytes=2927220
Ref.Time RELATIVE 542 sec
+373549641- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(3x) 606 849] , Heap: free.n_bytes_largest=2893672, free.n_bytes=2927232
Ref.Time RELATIVE 602 sec
+433562174- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(3x) 606 850] , Heap: free.n_bytes_largest=2893672, free.n_bytes=2927228
Ref.Time RELATIVE 782 sec
+613558593- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(3x) 606 841] , Heap: free.n_bytes_largest=2893672, free.n_bytes=2927232
Ref.Time RELATIVE 842 sec
+673563151- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(3x) 606 823] , Heap: free.n_bytes_largest=2893672, free.n_bytes=2927228
Ref.Time RELATIVE 902 sec
+733559570- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(3x) 606 846] , Heap: free.n_bytes_largest=2893672, free.n_bytes=2927232
Ref.Time RELATIVE 962 sec
+793557454- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(87x) 605 861], Heap: free.n_bytes_largest=2893672, free.n_bytes=2927220
Updating cached data to FlashDisk....OK.
Updating cached data to FlashDisk....OK.
Ref.Time RELATIVE 1023 sec
+192575358- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(1946x) 578 817], Heap: free.n_bytes_largest=2893580, free.n_bytes=2927024
Ref.Time RELATIVE 1107 sec
+084805013- PLC_APP- PlcApp[0000]- PlcAppRoleSet: *** Role: REMOTE-I/O UNIT ***
+312503255- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(55x) 605 1130], Heap: free.n_bytes_largest=2893580, free.n_bytes=2927036
+328509602- PLC_DIAG- PlcDiag[0000]- PLC_USB_SERIAL FISH_X1 EchoRequest: 1
+336815917- PLC_DIAG- PlcDiag[0000]- PLC_USB_SERIAL FISH_X1 RemoteIoRequest: 3571
+345751953- PLC_DIAG- PlcDiag[0000]- PLC_USB_SERIAL FISH_X1 ConfigWrRequest: 1
+354698893- PLC_DIAG- PlcDiag[0000]- PLC_USB_SERIAL FISH_X1 InfoRdRequest: 1
Ref.Time RELATIVE 1179 sec
+693088704- PLC_APP- PlcApp[0000]- Remote I/O Timeout
+701228190- PLC_APP- PlcApp[0000]- PlcAppRoleSet: *** Role: LOCAL CONTROLLER ***
+710169596- I2C_APP- I2cApp[0000]- I2cExecute: I2C_STOP
Ref.Time RELATIVE 1203 sec
+372557128- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(65x) 605 935], Heap: free.n_bytes_largest=2893580, free.n_bytes=2927036
+388108072- PLC_DIAG- PlcDiag[0000]- PLC_USB_SERIAL FISH_X1 RemoteIoRequest: 3531
Updating cached data to FlashDisk....OK.
Ref.Time RELATIVE 1226 sec
+931759602- PLC_APP- PlcApp[0000]- __PlcApp2LoadFile 1109: /flash/simple-counter.bin
Ref.Time RELATIVE 1263 sec
+434997558- PLC_DIAG- PlcDiag[0000]- IdleLoopCount(1ms)=[0(938x) 575 849], Heap: free.n_bytes_largest=2893580, free.n_bytes=2926972
+458997070- PLC_DIAG- PlcDiag[0000]- PLC_USB_SERIAL FISH_X1 EchoRequest: 1
+471982910- PLC_DIAG- PlcDiag[0000]- PLC_USB_SERIAL FISH_X1 InfoRdRequest: 1
Ref.Time RELATIVE 1269 sec
+750263183- PLC_APP- PlcApp[0000]- *** LOCAL APPLICATION /flash/simple-counter.bin STOP ***
+770418945- I2C_APP- I2cApp[0000]- I2cExecute: I2C_STOP
Ref.Time RELATIVE 1278 sec
+759970377- PLC_APP- PlcApp[0000]- *** LOCAL APPLICATION /flash/simple-counter.bin RUN ***
Ref.Time RELATIVE 1283 sec
+543269368- PLC_APP- PlcApp[0000]- *** LOCAL APPLICATION /flash/simple-counter.bin STOP ***
+554839192- I2C_APP- I2cApp[0000]- I2cExecute: I2C_STOP