This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How can i port debugger to my new 8051 compatible Chip ..?

Hello ..

I designed a 8051 compatible chip.
But i have no Develop environment.
So, I want to port uVision Debugger to my 8051.

All instruction of new 8051 are compatible with MCS-51. but new 8051 has two DPTRs and two DPTR control registers(DPT, DPM).

DPC(84h) : select DPTR0 or DPTR1 or Auto toggle
DPM(85h) : Select DPTRs mode auto increment or auto decrement or No change after MOVX A, @DPTR.

This DPTR features are not compatible standard 8051.

How can i port the my new 8051 to Keil uVision Debugger ..?

Is it possible my new 8051 to Keil uVision Debugger..?

I think that User defined peripheral DLL Design can not solve the Two DPTRs problem..

Thanks for your reading..^^

Parents Reply Children
  • Dear Choi:
    You have the same issues as me. But I think
    Double DPTR are not issues.Like SST,Atmel,there are many 8051-variants to be able to used with Mon51 (debugger).I
    also have a self-8051,2 DPTRs,Rom-less.
    I think the battleneck is in loader and configurations.How do you think?

  • "AGDI? = AGSI..?"

    No:

    D = Debugger;

    S = Simulator.

  • I am trying to port debugger to my new 8051.
    I have a idea to solve two DPTRs issue.

    1. AGSI supports the memory access call back functions (see AGSI app note)

    2. I think there are three instuction types that access the external memory.

    3. MOVX A, @DPTR, MOVX A, @R0, MOVX A, @R1
    4. In case of 3. I design the Call back fuction to read CODE ROM of PC and analsys the which instruction has performed..

    5. if MOVX A, @DPTR instrucion is performed.
    refer to DPM and DPC. if auto increment is set, Update the DPTR by AGSI_SFR_write function.

    1-5 method seems to me solve the double DPTR problem.
    Some case correctlry operated but other case do not...

    if i successfully solve the double DPTR issues, I will post the solution.

    thanks your post..

  • 3. MOVX A, @DPTR, MOVX A, @R0, MOVX A, @R1

    Do MOVX A, @R0 and MOVX A, @R1 really use the DPTR register?

    What about the MOVX @DPTR, A instruction?

    Jon

  • I mean three instruction types access the external memory.

    i can find which instruction is access the external memory by AGSI exteranl memory fuction.

    1. when simulator access the external memory, simulator call back the user defined peripheral function.

    2. read the instrution of code memory at PC in user defined peripheral function.

    2. if read instuction is MOVX A, @DPTR, Update the DPTR by refering the DPC and DPM

    3. DPTR resides in SFR, you can update the DPTR value by SFR related function of AGSI functions

    It seems to me solve two DPTRs issue.
    But this method can reduce the simulator performance and i can not know which cases is abnomally operated.

    thanks ~~ for your post~