supplierdeeply

SD 4000 IS / IXUS 300 HS / IXY 30S porting thread

  • 302 Replies
  • 63652 Views
*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
  • Publish
    Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
    « Reply #160 on: 07 / January / 2011, 20:34:42 »
    Advertisements
    @wasabi1023

    I fixed issus with larger scripts today which cause crash or other problems (hooked mykbd_task() without increased stack size).

    Bad Idea:
    Code: [Select]
    void taskHook(context_t **context) {
    ...
    if(!_strcmp(tcb->name, "PhySw"))           tcb->entry = (void*)mykbd_task;    // cause crash with large scripts because we hook task without increased stack size
    }

    Working:
    Code: [Select]
    // ROM:FF834434
    void __attribute__((naked,noinline)) taskcreate_PhySw_my() {
        asm volatile (
                "STMFD   SP!, {R3-R5,LR}\n"
                "LDR     R4, =0x1C28\n"
                "LDR     R0, [R4,#0x10]\n"
                "CMP     R0, #0\n"
                "BNE     sub_FF834468\n"
                "MOV     R3, #0\n"
                "STR     R3, [SP]\n"

                //"LDR     R3, =0xFF834400\n"        // compiler does not like ADR
                "LDR     R3, =mykbd_task\n"          // +
                //"MOV     R2, #0x800\n"             // original stack size is to small
                "MOV     R2, #0x2000\n"              // + increase stack size for our task_PhySw so we don't have to do stack switch, if stack is too small large scripts may cause crash !!!

                "B       sub_FF834458\n"             // Continue in Firmware
        );
    };

    I also read Motion Detection depends on correct Viewport / Bitmap Buffer which is still broken (looks like SD4000 dont have PROPCASE_ASPECT_RATIO at all).

    Looks like you need to be wait patient till i'm able to fix Viewport stuff... sorry.
    « Last Edit: 07 / January / 2011, 20:43:38 by pixeldoc2000 »

  • Publish
    Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
    « Reply #161 on: 08 / January / 2011, 09:19:10 »
    It's good to know it's being worked on, thanks :)

  • Publish
    Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
    « Reply #162 on: 25 / January / 2011, 12:13:57 »
    Hey pixeldoc2000,

    First I want to say "Thank you" for your fantastic work porting chdk to Ixus 300 HS!!!

    May I ask you (and maybe others with a 300 HD) a question:
    Last days I tried to figure out how the bracketing function works - for some HDR shots. The only way to use the bracketing in continuous mode is to use the "HighSpeedPufferSpeicher" setting in canons manual mode. Only this mode will enable the Bracket/Steps display info, other modes Tv or Av from canons manual mode do not work. The problem is that in HighSpeedPufferSpeicher mode the picture size is limited to 2Mpix.

    Any tipps or hints to use the bracketing function?

    Ok, I think I found the problem:

    1. Bracketing in continuous mode needs shooting_get_drive_mode() > 0 (see gui_osd.c).
    2. shooting_get_drive_mode() depends on _GetPropertyCase(PROPCASE_DRIVE_MODE, &m, sizeof(m)); (see shooting.c).
    3. On IXUS 300 HD the value PROPCASE_DRIVE_MODE (102) is 1 for HighSpeedPufferSpeicher mode, on all other modes 0.

    I found a workaround for some camera models in shooting_get_drive_mode() (see shooting.c) which deals with the custom timer. PROPCASE_TIMER_MODE (225) on  IXUS 300 HD reports:

    0 for no timer mode,
    1 for 2 seconds timer,
    2 for 10 seconds timer,
    3 for custom timer.

    So I suggest to add the IXUS 300 HD to the workaround in shooting_get_drive_mode().

    My last edit:
    It works! I add "defined (CAMERA_ixus300_sd4000) || \" at the begining of the function shooting_get_drive_mode() and recompile your beta7. Now bracketing in continuous mode will work on several canon modes, no more limited to HighSpeedPufferSpeicher mode.


    « Last Edit: 26 / January / 2011, 14:07:21 by chdk2011 »

    *

    Offline na01

    • *
    • 17
  • Publish
    Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
    « Reply #163 on: 26 / January / 2011, 08:26:03 »
    I don't know if is the correct way to do it, but on my 300 hs I can obtain different exposures under P mode using the continuous option.

    I can obtain different exposure results using the option tv bracketing under "bracketing in continuous mode" in the chdk menu.
    I suppose that AV bracketing does not work: with the same shutter speed and the same iso value I obtain a set of images that are equally exposed.

    I have another question: I would like to use the raw option, but I have a lot of bad pixels that make the photo unusable.
    I tried to generate a badpixel file with some basic image processing on two shots and it seems that I have identified almost all my bad pixels, but inserting them in badpixel file as a sequence of binary integers does not work.
    How is fixed the reference frame for badpixel positions?

    Thanks


    *

    Offline pixeldoc2000

    • ****
    • 355
    • IXUS900Ti 1.00C, IXUS300HS 1.00D
      • pixel::doc homebase
  • Publish
    Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
    « Reply #164 on: 27 / January / 2011, 14:01:48 »
    First I want to say "Thank you" for your fantastic work porting chdk to Ixus 300 HS!!!
    Thanks!

    It works! I add "defined (CAMERA_ixus300_sd4000) || \" at the begining of the function shooting_get_drive_mode() and recompile your beta7. Now bracketing in continuous mode will work on several canon modes, no more limited to HighSpeedPufferSpeicher mode.
    Thanks! Looks like it now works as supposed AFAIK.
    Commit: https://github.com/pixeldoc2000/chdk/commit/398a1f948017bcca5f77677812ba364f85ef5fbd

    @na01
    If i understand your post correctly, this is related to bracketing stuff we just fixed.
    About RAW (DNG), did you read http://chdk.wikia.com/wiki/Badpixel_removal ? You didn't test Bad pixel removal on Carmera?

    *

    Offline na01

    • *
    • 17
  • Publish
    Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
    « Reply #165 on: 28 / January / 2011, 08:36:41 »
    You didn't test Bad pixel removal on Carmera?
    Thanks for the answer!
    The idea is exactly to use the camera, but I need a badpixel file.
    The executable show_bad does not recognize my cr2/crw files because their size is 15935616 bytes, and there is no case in the switch that gives the correct result.

    So I have tried to build a badpixel file with a simple program that works on dng files (it is the only format that is recognized on my computer), but without any success.

    Can I consider other alternatives to build it?

    Thanks for your help!

    *

    Offline pixeldoc2000

    • ****
    • 355
    • IXUS900Ti 1.00C, IXUS300HS 1.00D
      • pixel::doc homebase
  • Publish
    UART Serial Console
    « Reply #166 on: 29 / January / 2011, 14:12:53 »
    UART Serial Console

    I've discovered UART pinout for my Canon SD4000 (see attached Image)  :)
    UART Settings: 115200/8/1/N (115200 Baud)
    Voltage Level: 3.3V

    We have access to Canon "Event Shell" and DryOS Shell (Dry-shell).

    Looks like "Event Shell" provides direct access to Event Procedure like Canon Basic.

    Here is some Output:

    Code: [Select]
    Event[1]>?
     [PutsCameraLogEvent]
     [DispDev_EnableEventProc]
     [StopCameraLog]
     [EngineDriver.Create]
     [Mecha.Create]
     [ShowCameraLog]
     [ExMem]
     [SS.Create]
     [Driver_EnableEventProc]
     [UI_RegistDebugEventProc]
     [StartCameraLog]
     [UI.CreatePublic]
     [ShowCameraLogInfo]
     [drysh]
     [Capture.Create]
     [DispDev.Create]
     [NewTaskShell]
     [UI.Create]
     [StopRedirectUART]
     [OpLog.Create]
     [Driver.Create]
     [StartRedirectUART]
     [EngApp.Create]
     [System.Create]
     [FA.Create]

    Code: [Select]
    Event[1]>drysh
    === Dry-shell start ===
    Dry>

    Code: [Select]
    Dry> help
    [Debug]
     task  sem  event  mq  mutex  timer  mkobjsize  extask  kill  suspend  resume
     release  delete  prio  mkcfg  meminfo  xd  xm  memmap  objinfo
    [Misc]
     vers  exit  dminfo

    Code: [Select]
    Dry> vers
    DRYOS version 2.3, release #0043
      Dry-MK 2.52
      Dry-DM 1.16
      Dry-stdlib 1.44
      Dry-efat 1.06 091030-3171+
      Dry-shell 1.15
      Dry-command alpha 050

    Code: [Select]
    Dry> meminfo
    usage: meminfo [-{l|s|m|L}]
           -l  allocated list
           -s  system memory info
           -m  malloc memory info
           -L  all list (corruption safe)
    Dry> meminfo -s
    System Memory Information
      Start Address       = 0x00379c08
      End Address         = 0x003ccc00
      Total Size          = 0x00052ff8 (   339960)
      Allocated Size      = 0x00032840 (   206912)
      Allocated Peak      = 0x00034858 (   215128)
      Allocated Count     = 0x00000040 (       64)
      Free Size           = 0x000207b8 (   133048)
      Free Block Max Size = 0x0001e720 (   124704)
      Free Block Count    = 0x00000005 (        5)
      Extendable Size     = 0x00000000 (        0)
    Dry> meminfo -m
    Malloc Information (onetime type)
      Start Address       = 0x0014b3a0
      End Address         = 0x003724a8
      Total Size          = 0x00227108 (  2257160)
      Allocated Size      = 0x0012b498 (  1225880)
      Allocated Peak      = 0x001331a8 (  1257896)
      Allocated Count     = 0x00000129 (      297)
      Free Size           = 0x000fbc70 (  1031280)
      Free Block Max Size = 0x000f9338 (  1020728)
      Free Block Count    = 0x00000003 (        3)

    Code: [Select]
    Dry> mkcfg
    vers_dry                 DRYOS version 2.3, release #0043
    vers_mk                  2.52
    act_spi_sem              1
    act_spi_event            1
    act_spi_mq               1
    act_spi_mutex            1
    act_spi_cond             0
    act_spi_timer            1
    act_spi_clock            1
    act_spi_mem              1
    act_spi_isr              0
    act_spi_objlist          1
    act_spi_objinfo          1
    act_spi_objsetname       1
    act_timeout              1
    act_objname              1
    dbg_stack_check          1
    dbg_error_check          1
    dbg_logging              0
    sys_mem_start   0x00379c00
    sys_mem_max         339968
    user_mem_start  0x0014b394
    user_mem_max       2257172
    sys_objs_start  0x003724a8
    sys_objs_end    0x00379c00
    priority_max            34
    task_max               104
    semaphore_max          411
    event_max              150
    message_q_max          120
    mutex_max              100
    condition_max            0
    timer_max                0
    vector_max               0
    it4_mbx_max              0
    it4_mpf_max              0
    it4_mpl_max              0
    level_low                0
    level_timer            128
    level_kern             128
    prio_default            16
    stack_default         2048
    stack_idle             160
    stack_init             640
    stack_addr_idle 0x00000000
    stack_addr_init 0x00000000

    Code: [Select]
    Dry> task
          ID   STATE PRI         WAIT(ID)  NAME
    00010001   READY  33         -------   idle
    000e0004   READY  32         -------   ClockSave
    00190005    WAIT  24  SLEEP(00190005)  WdtReset
    001b0006    WAIT   1    SEM(001a0013)  WdtPrint
    00520007    WAIT  25  RCVMQ(004f0002)  HdmiDriverTask
    005a0008    WAIT   2  EVENT(00590009)  _ImageSensorTask
    005d0009    WAIT  26  SLEEP(005d0009)  Thermometer
    007a000a    WAIT   7    SEM(00780060)  TmgGen
    007f000b    WAIT  10  RCVMQ(007e0005)  ZoomLens
    0082000c    WAIT   8  EVENT(0080000a)  ZoomEvent
    0085000d    WAIT   9  EVENT(0083000b)  ZoomActuatorSpeedCheck
    008b000e    WAIT   9  RCVMQ(008a0007)  FocusLens
    008e000f    WAIT   8  EVENT(008d000c)  FocusEvent
    00950010    WAIT   9  RCVMQ(00940009)  Iris
    00980011    WAIT   8  EVENT(0097000d)  IrisEvent
    009e0012    WAIT   1    SEM(009c006e)  MechaShutter
    00a30013    WAIT   5    SEM(00a00071)  Nd
    00a80014    WAIT  17  RCVMQ(00a7000b)  CZ
    00aa0015    WAIT  20  EVENT(00a9000e)  MechaNCTask
    00b50016    WAIT  22    SEM(00b4007b)  ISComTask
    00bc0017    WAIT  22  RCVMQ(00ba000c)  LEDCon
    00c60018    WAIT  19  RCVMQ(00c1000d)  ImgPlayDrv
    00cc0019    WAIT   9    SEM(00cb0087)  ASIF
    00d5001a    WAIT  22    SEM(00d1008a)  BeepTask
    00d6001b SUSPEND   0         -------   errLogTask
    00dc001c    WAIT  24  RCVMQ(00d80010)  CtrlSrv
    00de001d    WAIT  23  SLEEP(00de001d)  PhySw
    00df001e    WAIT  24  RCVMQ(00e00013)  RotarySw
    00e3001f    WAIT  23  RCVMQ(00e20014)  SsTask
    00f40020    WAIT  23  RCVMQ(00f10015)  CaptSeqTask
    00f90021    WAIT   1    SEM(00f80096)  Bye
    00fe0022    WAIT  29  RCVMQ(00fd0016)  BatteryTask
    01220026    WAIT  23  EVENT(01200023)  Fencing
    01290027    WAIT  21  RCVMQ(01250018)  MotionVector
    012b0028    WAIT  21  EVENT(012a0027)  SceneDetectTask
    012e0029    WAIT  23  RCVMQ(012d001b)  AutoShutterMan
    0144002a    WAIT  21  RCVMQ(01430023)  LiveImageTask
    014c002b    WAIT  25  RCVMQ(014b0024)  DevelopModule
    0159002c    WAIT   1  EVENT(0155002e)  SynchTask
    015a002d    WAIT   1    SEM(015700cd)  SyncPeriod
    015f002e    WAIT  21  RCVMQ(015e0026)  AfIntSrvTask
    0164002f    WAIT  23  RCVMQ(01620029)  AFTask
    01790030    WAIT   6  RCVMQ(01770034)  WBIntegTask
    017d0031    WAIT  21  EVENT(017c0037)  OBCtrlTask
    01810032    WAIT  21  RCVMQ(017f0038)  ExpDrvTask
    01870033    WAIT  22  RCVMQ(0185003b)  BrtMsrTask
    018c0034    WAIT  22  RCVMQ(018a003e)  EFChargeT
    01900035    WAIT  21  EVENT(018d003c)  CntFlashTask
    01980036    WAIT  23  RCVMQ(01970041)  WBCtrl
    01b40037    WAIT  22  RCVMQ(01b2004f)  PrcssFil
    01b90038    WAIT  25  EVENT(01b80040)  DispFace
    01bd0039    WAIT  25  EVENT(01ba0041)  ChaseFrame
    01c0003a    WAIT  26  RCVMQ(01be0050)  DetectMoveTask
    01c7003b   READY   1         -------   EvShel
    01cc003c SUSPEND  25         -------   LowConsole
    01cd003d    WAIT  24  RCVMQ(01c80052)  ConsoleSvr
    01d40040    WAIT  23  RCVMQ(01d30053)  FsIoNotifyTask
    01db0041    WAIT  29  EVENT(01d80043)  DPOFTask
    01e70042    WAIT  27  EVENT(01e60044)  ReadScheduleTask
    01e90043    WAIT  27  EVENT(01e80045)  ReadFileTask
    01ee0044    WAIT  23  EVENT(01ed0046)  ISMainTask
    02010046    WAIT  30  RCVMQ(01ff0056)  MetaCtgPrsTask
    02020047    WAIT  30  RCVMQ(01fe0055)  MetaCtg
    « Last Edit: 29 / January / 2011, 16:50:35 by pixeldoc2000 »

    *

    Offline pixeldoc2000

    • ****
    • 355
    • IXUS900Ti 1.00C, IXUS300HS 1.00D
      • pixel::doc homebase
  • Publish
    DryOs Shell
    « Reply #167 on: 29 / January / 2011, 15:13:05 »
    DryOs Shell

    Code: [Select]
    Dry> mkobjsize
     sizeof(dlqueue_t) =   8
     sizeof(   task_t) =  84
     sizeof(    sem_t) =  24
     sizeof(  event_t) =  24
     sizeof(     mq_t) =  44
     sizeof(  mutex_t) =  28
     sizeof(  timer_t) =  40

    Code: [Select]
    Dry> extask
     NAME            ID   STATE PRI         WAIT(ID)      STACK  %        SP
    errLogTask 00d6001b SUSPEND   0         -------   0040/0400 06  00386160
    WdtPrint   001b0006    WAIT   1    SEM(001a0013)  0098/0200 29  0037b460
    MechaShutt 009e0012    WAIT   1    SEM(009c006e)  01e8/0800 23  003804d0
    Bye        00f90021    WAIT   1    SEM(00f80096)  0088/0200 26  0038ab48
    SynchTask  0159002c    WAIT   1  EVENT(0155002e)  00d0/1000 05  00393f58
    SyncPeriod 015a002d    WAIT   1    SEM(015700cd)  0090/1000 03  00394fa0
    EvShel     01c7003b RUNNING   1         -------   0358/8000 02  003a7b10
    _ImageSens 005a0008    WAIT   2  EVENT(00590009)  0198/1000 09  0037cc08
    Nd         00a30013    WAIT   5    SEM(00a00071)  0218/0400 52  003808a8
    WBIntegTas 01790030    WAIT   6  RCVMQ(01770034)  02c0/1000 17  00397f68
    TmgGen     007a000a    WAIT   7    SEM(00780060)  0088/0400 13  0037d490
    ZoomEvent  0082000c    WAIT   8  EVENT(0080000a)  00c0/0400 18  0037e068
    FocusEvent 008e000f    WAIT   8  EVENT(008d000c)  00c0/0400 18  0037f080
    IrisEvent  00980011    WAIT   8  EVENT(0097000d)  00c0/0400 18  0037fc90
    ZoomActuat 0085000d    WAIT   9  EVENT(0083000b)  00c8/0400 19  0037e468
    FocusLens  008b000e    WAIT   9  RCVMQ(008a0007)  0200/0800 25  0037ec88
    Iris       00950010    WAIT   9  RCVMQ(00940009)  0200/0800 25  0037f898
    ASIF       00cc0019    WAIT   9    SEM(00cb0087)  00a0/1000 03  003854f0
    ZoomLens   007f000b    WAIT  10  RCVMQ(007e0005)  0210/0800 25  0037dc70
    CZ         00a80014    WAIT  17  RCVMQ(00a7000b)  00b0/0800 08  003810b8
    ImgPlayDrv 00c60018    WAIT  19  RCVMQ(00c1000d)  05d8/1000 36  003844a8
    MechaNCTas 00aa0015    WAIT  20  EVENT(00a9000e)  00c0/1000 04  003820b0
    MotionVect 01290027    WAIT  21  RCVMQ(01250018)  0468/1000 27  0038f548
    SceneDetec 012b0028    WAIT  21  EVENT(012a0027)  0728/1000 44  003906f0
    LiveImageT 0144002a    WAIT  21  RCVMQ(01430023)  0250/0800 28  00391f68
    AfIntSrvTa 015f002e    WAIT  21  RCVMQ(015e0026)  01c8/1000 11  00395f80
    OBCtrlTask 017d0031    WAIT  21  EVENT(017c0037)  00e8/0400 22  00398368
    ExpDrvTask 01810032    WAIT  21  RCVMQ(017f0038)  0358/0800 41  00398b80
    CntFlashTa 01900035    WAIT  21  EVENT(018d003c)  00c8/0800 09  0039aba8
    ISComTask  00b50016    WAIT  22    SEM(00b4007b)  02f0/1000 18  003830f0
    LEDCon     00bc0017    WAIT  22  RCVMQ(00ba000c)  0108/0400 25  00383478
    BeepTask   00d5001a    WAIT  22    SEM(00d1008a)  00b0/0800 08  00385ce8
    BrtMsrTask 01870033    WAIT  22  RCVMQ(0185003b)  0668/1000 40  00399ad0
    EFChargeT  018c0034    WAIT  22  RCVMQ(018a003e)  0220/0800 26  0039a390
    PrcssFil   01b40037    WAIT  22  RCVMQ(01b2004f)  0738/1000 45  0039cbc8
    PhySw      00de001d    WAIT  23  SLEEP(00de001d)  0248/0800 28  00388138
    SsTask     00e3001f    WAIT  23  RCVMQ(00e20014)  0220/1000 13  00389908
    CaptSeqTas 00f40020    WAIT  23  RCVMQ(00f10015)  0ae8/1000 68  0038a908
    Fencing    01220026    WAIT  23  EVENT(01200023)  0630/1000 38  0038e728
    AutoShutte 012e0029    WAIT  23  RCVMQ(012d001b)  00b0/1000 04  00391760
    AFTask     0164002f    WAIT  23  RCVMQ(01620029)  0328/1000 19  00396f88
    WBCtrl     01980036    WAIT  23  RCVMQ(01970041)  0548/1000 33  0039bbc0
    FsIoNotify 01d40040    WAIT  23  RCVMQ(01d30053)  00b0/1000 04  0037b038
    ISMainTask 01ee0044    WAIT  23  EVENT(01ed0046)  0138/1000 07  003adc18
    WdtReset   00190005    WAIT  24  SLEEP(00190005)  0080/0200 25  0037b270
    CtrlSrv    00dc001c    WAIT  24  RCVMQ(00d80010)  09c0/1800 40  003878f8
    RotarySw   00df001e    WAIT  24  RCVMQ(00e00013)  00f0/0800 11  003888c8
    ConsoleSvr 01cd003d    WAIT  24  RCVMQ(01c80052)  0190/0800 19  003a8bf0
    HdmiDriver 00520007    WAIT  25  RCVMQ(004f0002)  0170/0800 17  0037bc38
    DevelopMod 014c002b    WAIT  25  RCVMQ(014b0024)  01f8/1000 12  00392e28
    DispFace   01b90038    WAIT  25  EVENT(01b80040)  0760/1000 46  0039d618
    ChaseFrame 01bd0039    WAIT  25  EVENT(01ba0041)  01e0/1000 11  0039eab0
    LowConsole 01cc003c SUSPEND  25         -------   00e0/0800 10  003a8408
    Thermomete 005d0009    WAIT  26  SLEEP(005d0009)  00f8/0400 24  0037d018
    DetectMove 01c0003a    WAIT  26  RCVMQ(01be0050)  02c8/1000 17  0039fa90
    ReadSchedu 01e70042    WAIT  27  EVENT(01e60044)  00c0/1000 04  003abc08
    ReadFileTa 01e90043    WAIT  27  EVENT(01e80045)  00d0/1000 05  003acc00
    BatteryTas 00fe0022    WAIT  29  RCVMQ(00fd0016)  00e8/0400 22  0038af10
    DPOFTask   01db0041    WAIT  29  EVENT(01d80043)  0238/1000 13  003aabc8
    MetaCtgPrs 02010046    WAIT  30  RCVMQ(01ff0056)  0188/1000 09  003afb60
    MetaCtg    02020047    WAIT  30  RCVMQ(01fe0055)  00b8/1000 04  003b0c38
    ClockSave  000e0004   READY  32         -------   0060/0200 18  00379e58
    idle       00010001   READY  33         -------   0070/00a0 70  00379c40

    Code: [Select]
    Dry> memmap
    == ITCM ==
    00000000 : DRY_VECTOR_ADDR
    000004b0 : DRY_HANDLER_ADDR
               0x00000214(532)
    000006c4 : DRY_HANDLER_END_ADDR
    000006c4 : DRY_IRQ_STACK_START
    000006c4 : DRY_RESET_STACK_START
               0x0000093c(2364)
    00001000 : DRY_IRQ_STACK
    00001000 : DRY_RESET_STACK
    00001000 : ITCM_END_ADDR

    == DTCM ==
    80000728 : DRY_VECTOR_FUNC
               0x00000400(1024)
    80000b28 : DRY_VECTOR_ARG
               0x00000400(1024)
    80001000 : DTCM_END_ADDR

    == ROM  ==
    ff810000 : text start
               0x004106d4(4261588)
    ffc206d4 : romdata start
               0x0000d944(55620)
    ffc2e018 : romdata end

    == DRAM ==
    00001900 : data start
               0x0000d944(55620)
    0000f244 : bss start
               0x0013c150(1294672)
    0014b394 : heap start
               0x00227114(2257172)
    003724a8 : DRY_HEAP_END
    003724a8 : DRY_SYS_OBJS_START
               0x00007758(30552)
    00379c00 : DRY_SYS_MEM_START
               0x00053000(339968)
    003ccc00 : DRY_ERREX_STACK_START
               0x00000400(1024)
    003cd000 : DRY_ERREX_STACK
    003cd000 : DRY_EXCEP_STACK_START
               0x00001000(4096)
    003ce000 : DRY_EXCEP_STACK

    Code: [Select]
    Dry> objinfo
              MAX  COUNT   PEAK
    task      104     63     71
    sem       411    293    315
    event     150     71     76
    mq        120     85     95
    mb          0      0      0
    mutex     100     20     20
    cond        0      0      0
    timer       0      0      0

    Code: [Select]
    Dry> dminfo
    [Driver Entry]
      total :   8 (DRV_ENTRY_MAX)
      used  :   3
    [Created Devices]
      drvNo  name
         2   A
         0   /_term
    [Default Device]
      device name :
    [File Descriptor]
      total :  31 (DM_FILE_MAX)
      used  :   3
      open  :   3

    Anybody interested in examing specific stuff?


    *

    Offline pixeldoc2000

    • ****
    • 355
    • IXUS900Ti 1.00C, IXUS300HS 1.00D
      • pixel::doc homebase
  • Publish
    Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
    « Reply #168 on: 29 / January / 2011, 16:33:10 »
    I've added DryOS Shell and UART Info for SD4000 to WIKI.

    I'll put more infos there soon.

    EDIT: attached Rigol Scope Screenshot from UART RX Pin sending String "Event[1]>" on Camera Startup.

    Myth CONFIRMED: Camera has UART Serial Console!
    Next step: Make use of it  8)
    « Last Edit: 29 / January / 2011, 18:20:15 by pixeldoc2000 »

    *

    Offline pixeldoc2000

    • ****
    • 355
    • IXUS900Ti 1.00C, IXUS300HS 1.00D
      • pixel::doc homebase
  • Publish
    Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
    « Reply #169 on: 29 / January / 2011, 17:18:30 »
    Just in case somebody want to know how my UART rig looks..

    I soldered small wire from a dvd motor coil to UART pads and hooked it to my BusPirate v3 in UART mode. With this small Wires it's possible to reessemble the camera. I'm thinking about putting a small connector to it  somewhere.

    I have to test if UART is connected to HDMI Connector too.
    « Last Edit: 29 / January / 2011, 17:23:57 by pixeldoc2000 »

     

    Related Topics