CISC(complex instruction set computer) RISC(reduced instruction set computer) (cross software) (compiler) (assembler) (linkage editor) (loader) tokenizer) (parser) (code generator) (execute) GNU http://www.gnu.org/ C C++ Configure, make, make install Binutils, gcc, newlib (target (host ) virtual machine: VM) Java MC68000 SH CPU32 BSR
MC68000
CPU32
C gcc E hello.c > hello.i gcc S hello.c hello.s. : gcc hello.s gcc c hello.c hello.o. 1. /* test.c */ 2. #include <stdio.h> 3. test(int i, int j) 4. { 5. return (i * j); 6. } 7. main(int argc, char *argv) 8. { 9. int i,j,k; 10. i = 3; 11. j = 2; 12. k = test(i,j); 13. if (k > 5) printf(">5 n"); 14. else printf("<=5 n"); 15. } % ls test.c % m68k-coff-gcc -S test.c % ls test.c test.s % 1..file "test.c" 2. gcc2_compiled.: 3. gnu_compiled_c: 4..text 5..even 6..globl test 7. test: 8. link.w %a6,#0 9. move.l 8(%a6),%d1 10. muls.l 12(%a6),%d1 11. move.l %d1,%d0 12. jbra.l2 13..even 14..L2: 15. unlk %a6 16. rts 17..LC0: 18..ascii ">5 12 0" 19..LC1: 20..ascii "<=5 12 0" 21..even 22..globl main 23. main: 24. link.w %a6,#-12 25. jsr main 26. moveq.l #3,%d0 27. move.l %d0,-4(%a6) 28. moveq.l #2,%d0 29. move.l %d0,-8(%a6) 30. move.l -8(%a6),-(%sp) 31. move.l -4(%a6),-(%sp) 32. jsr test 33. addq.l #8,%sp 34. move.l %d0,-12(%a6) 35. moveq.l #5,%d0 36. cmp.l -12(%a6),%d0 37. jbge.l4 38. pea.lc0 39. jsr printf 40. addq.l #4,%sp 41. jbra.l5 42..even 43..L4: 44. pea.lc1 45. jsr printf 46. addq.l #4,%sp 47..L5: 48..L3: 49. unlk %a6 50. rts
C. If. % ld hello.o lc.. nm. m68k-coff-nm test.o text: data: b size. m68k-coff-size test.o. Printf. libc libm ld main.o func.o lm lc lib -l. ar. m68k-coff-ar q f.a func.o main.o m68k-coff-ar tv f.a gcc % m68k-coff-nm test.o 00000070 b.bss 00000070 d.data 00000000 t.text 00000000 t gnu_compiled_c U main 00000000 t gcc2_compiled. 00000022 T main U printf 00000000 T test % nm f.a func.o: 00000000 b.bss 00000000 d.data 00000000 t.text 0000000e T _print_hello U _printf main.o: 00000000 b.bss 00000000 d.data 00000000 t.text U main U alloca 00000000 T _main U _print_hello % m68k-coff-size test.o text data bss dec hex filename 112 0 0 112 70 test.o
MC68336 68020 (CPU32) 20.97MHz 7.5KB RAM :SIM, TPU, QSM, CTM4, QADC 160pin 2Mbit (256KB) RAM (1Mbit SRAM x2) 1 Mbit EPROM SIM( ) TPU QSM CTM4 PWM QADC 10bit 16 8.6 s/ch LCD (16 x2 ) LCD (4 x6 ) DC LED A/D, D/A PIN CAN Cygwin,Gcc JDK, Java KVM Java thread
MC68336 http://e-www.motorola.com/webapp/sps/site/prod_summary.jsp?code=mc68336
ROM
UTYO-Mechano RAM: ROM: SRAM C Java jar C JavaVM KVM) Java Java Java Java Java C Mech ROM Java Java UTYO-Mechano-MCU Java (KVM) SUN
(exception) exception vector
SH-Linux ユーザーズガイド 2002/9 Rev.1.0
SH-2002-64 SH-2002-128 1-1 CPU ROM Ethernet USB RS232 SIO CPU 200MHz 64MB CPU 200MHz 128MB 134 96mm FR-4 DC5V 1A CF 1A 2A 12V,-5V CPU CR2032 HD6417709S (SH3) QFP208 CPU 200MHz SDRAM 66.6MHz 16.666MHz 128MB(256MbSDRAM) 128MB 16 4M 4 4 64MB 16 4M 4 2 64MB U27,U28 2MB ROM TE28F160B3BA90 100Base-Tx/10Base-T 2 LAN91C111 USB ver1.1 2CH ISP1161 XC9572XL-TQ100 ADM211EARS CPU CF 3.3V CF SCI ttysc0 SCIF2(ttySC1 ) SCIF1(ttySC2 ) 2 Rev.1.0
1-2 ttysc0 ttysc1 ttysc2 Ethernet 100Base-Tx 10Base-T PC104 B7B-XH-A B3B-ZR-SM3 DSUB9 (P) B10B-ZR-SM3 RJ-45 PC104 64 +40 1-3 ttysc0 B3B-ZR-SM3 CD-ROM SH-Linux CF CF CD-ROM CF 1-4 ADDRESS, DATA bus CN11 ttysc0 CN10 ttysc1 CN12 ttysc2 RESET RESET(CA) SDRAM 64MB or 128MB Flash ROM 2MB or 8MB RS232C Driver H-UDI DipSW LEDx3 16.666MHz 32.768kHz SCI SCIF2 SCIF1 CPU(SH7709A) RESET,CA BUS Control XC9572XL COMMAND +3.3V +2.0V CPU core +1.9V CPU RTC buffer Ethernet LAN91C111 x 2 CF SLOT 3.3VReg 1.9VReg RTC Reg +5V PC104bus sub set 100Base-Tx RJ-45 100Base-Tx RJ-45 +12,-12,-5V CN9 Power JTAG CR2032 1-5 IO SH3 3.3V CMOS(74LCXxx) TTL Rev.1.0 3
SH3 32 4Gbyte 3 A31-A29 MMU MMU (A28-A12) MMU Kbyte (A28-A26) CPU CS0,CS2 CS6 CS 64Mbyte (64x6)Mbyte SH7709S CS SDRAM 0x08000000 0x0BFFFFFF CS2 32 0x0C000000 0x0FFFFFFF CS3 32 ROM 0x00000000 0x001FFFFF CS0 16 LAN0 0x10000300 0x1000031F CS4 32 LAN1 0x10000320 0x1000033F USB 0x12001020 0x1200102F 16 0x14200000 0x142FFFFF CS5 16 LED1 0x14A00000 CS5 8 LED2 0x14C00000 CS5 8 LED3 0x14E00000 CS5 8 LED3:1 0x14800000 CS5 8 0x18000000 0x19FFFFFF CS6 8/16 I/O 0x1A000000 0x1BFFFFFF CS6 8/16 Linux P1 P2 I/O SW-8 ON 0x15000000 0x151FFFFF SW-8 ON 0x00000000 0x001FFFFF( 8bit) 64MB CS2 SDRAM 1-5-1 1 CPU PTE3 2 CPU PTE6 3 CPU PTF0 4 CPU PTF1 4 Rev.1.0
5 CPU PTF2 6 CPU PTF3 ASEMD0 7 ROM WP CPU PTD1 ROM write 8 CS0 CPU PTD0 PC104 ROM ON 1-5-2 LED LED 2 PTJ6 7 LED3 6 Ethernet P1 P2 0x98000000 0x99FFFFFF 0xB8000000 0xB9FFFFFF IO 0xBA000000 0xBBFFFFFF 1-6 (kernel ) IRQ0 LAN0 LAN91C111) 32 IRQ1 LAN1 LAN91C111) 33 IRQ2 CF 34 IRQ3 PC104 IRQ3 35 IRQ4 PC104 IRQ4 36 Rev.1.0 5