[Tiptoi] FW-Bastel

Sven A. Huerlimann sh at sighup.ch
Mo Okt 26 00:37:05 CET 2015


Guten Abend.

Ich denke es ist besser, wenn ich meine Bastel-Ergebnisse abseits der
Liste dokumentiere..
Aber einen hab ich noch (reset_vector):

[0x08000000]> s 0x08000034
[0x08000034]> pdf
/ (fcn) fcn.08000034 48
|          ;-- fcn.08000034:
|          0x08000034    7c009fe5       ldr r0, [pc, 0x7c]             
; [0x80000b8:4]=REG_INT_IRQ
|          0x08000038    0010a0e3       mov r1, 0
|          0x0800003c    001080e5       str r1, [r0]
|          0x08000040    1200a0e3       mov r0, 0x12
|          0x08000044    00f029e1       msr cpsr_fc, r0
|          0x08000048    6c109fe5       ldr r1, [pc, 0x6c]             
; [0x80000bc:4]=0x802d000
|          0x0800004c    01d0a0e1       mov sp, r1
|          0x08000050    1300a0e3       mov r0, 0x13
|          0x08000054    00f029e1       msr cpsr_fc, r0
|          0x08000058    60109fe5       ldr r1, [pc, 0x60]             
; [0x80000c0:4]=0x802b000
|          0x0800005c    01d0a0e1       mov sp, r1
\          0x08000060    5cf09fe5       ldr pc, [pc, 0x5c]             
; [0x80000c4:4]=event_loop

Und der event_loop (sinngemäss):

void event_loop()
{
  l2_config();

  printf("asic freq: %d\n", get_asic_freq());

  some_initialisation_routine_probably_uart(115200, get_asic_freq());

  printf("malloc init\n");

  setup_Rambuffer();

  setup_SomeCallbacks();
  setup_SomeMoreCallbacks();

  printf("Open USB interrupt\r\n");

  REG_INT_IRQ |= 0x40;

  init_USBController();

  printf("\r\nEnter event loop ...... \r\n");

  while ( 1 )
  {
    while (!always_return_0_maybe_patch_location());
    ...
    event_loop_do_hard_work(&v1);
  }
}

printf ist wahrscheinlich nutzlos.. Ich hab den Verdacht, dass der
Chomptech ASIC gar keinen UART-Block hat.

Grüsse shue







Mehr Informationen über die Mailingliste tiptoi