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

Can I develope the AGSI function by Borland C++ builder 5.0?

SPeriDLL, is a synonym for 'Sample Peripheral DLL' ,it is used by VC6.0,

Can I develope the AGSI function by
Borland C++ builder 5.0?

I wish do it !

Parents
  • "SPeriDLL, is a synonym for 'Sample Peripheral DLL' ,it is used by VC6.0"

    Actually, it's used by uVision;
    VC is just the tool used by Keil to develop it (or the examples in App Notes, at least).

    Anyway, you got me interested and I had another go at the conversion from MSVC to BCB:

    The easiest utility is vctobpru (probably in your CBuilder5\Bin folder) - see the Command Line Tools help file.

    As mentioned before, the Project all compiles OK, but the build fails with a Linker error.
    The link error is:
    [Linker Fatal Error] Fatal: Unable to open file 'ODBCCP32.LIB'

    To fix this:
    View/Project Manager
    Right-click SPeriDLL.dll
    Edit Option Source - opens a text edit page for SPeriDLL.bpr.xml
    In the <LINKER> section, find the <ALLLIB ...> entry, and remove odbccp32.lib
    Save the file, and close the Project.
    Reopen the Project, and it should build OK.
    (The .bpr Project file is actually just the XML text - so you could probably edit it straight in Notepad)

    However, using the resulting DLL in uVision v2.07 gives this warning:
    The specified DLL is not complete:
    c:\program files\Keil\C51\BIN\SPeriDLL.dll
    Continuing without specified peripheral...


    and the DLL then crashes with:

    UV2 caused an invalid page fault in
    module SPERIDLL.DLL at 0167:02acbce7.
    Registers:
    EAX=0088ed88 CS=0167 EIP=02acbce7 EFLGS=00010202
    EBX=00000000 SS=016f ESP=0088ed14 EBP=0088ed1c
    ECX=02b0a6ac DS=016f ESI=00000001 FS=0d9f
    EDX=02b0a6ac ES=016f EDI=02af80c0 GS=0000
    Bytes at CS:EIP:
    3b 73 0c 7c 18 68 fe 00 00 00 68 c4 a5 af 02 e8 
    Stack dump:
    00000020 02b0a8c8 0088ed5c 02acbc7a 00000000 00000001 00000020 02af80c0 0088ed88 02aed087 02afa700 0088ed2c 00000000 0088ed7c 02aed087 00000000
    and then:
    UV2 caused an invalid page fault in
    module SPERIDLL.DLL at 0167:02acbce7.
    Registers:
    EAX=0088e700 CS=0167 EIP=02acbce7 EFLGS=00010202
    EBX=00000000 SS=016f ESP=0088e684 EBP=0088e68c
    ECX=02b0a6ac DS=016f ESI=00000001 FS=0d9f
    EDX=02b0a6ac ES=016f EDI=00000000 GS=0000
    Bytes at CS:EIP:
    3b 73 0c 7c 18 68 fe 00 00 00 68 c4 a5 af 02 e8 
    Stack dump:
    00000000 02b0a8c8 0088e6cc 02acbc7a 00000000 00000001 00000000 00000000 0088e700 02aed087 02afa700 0088e69c 00000000 4956555c 4e4f4953 00000000 

    If I try to debug this, the corresponding message from BCB is:
    Project C:\Program Files\Keil\UV2\uv2.exe faulted with message:
    'access violation at 0x02adbcf7: read of address 0xffffffff'.
    Process stopped. Use Step or Run to continue.


    I have tried setting a BCB breakpoint on AgsiEntry, but it is not reached.

    Any ideas, anyone?

Reply
  • "SPeriDLL, is a synonym for 'Sample Peripheral DLL' ,it is used by VC6.0"

    Actually, it's used by uVision;
    VC is just the tool used by Keil to develop it (or the examples in App Notes, at least).

    Anyway, you got me interested and I had another go at the conversion from MSVC to BCB:

    The easiest utility is vctobpru (probably in your CBuilder5\Bin folder) - see the Command Line Tools help file.

    As mentioned before, the Project all compiles OK, but the build fails with a Linker error.
    The link error is:
    [Linker Fatal Error] Fatal: Unable to open file 'ODBCCP32.LIB'

    To fix this:
    View/Project Manager
    Right-click SPeriDLL.dll
    Edit Option Source - opens a text edit page for SPeriDLL.bpr.xml
    In the <LINKER> section, find the <ALLLIB ...> entry, and remove odbccp32.lib
    Save the file, and close the Project.
    Reopen the Project, and it should build OK.
    (The .bpr Project file is actually just the XML text - so you could probably edit it straight in Notepad)

    However, using the resulting DLL in uVision v2.07 gives this warning:
    The specified DLL is not complete:
    c:\program files\Keil\C51\BIN\SPeriDLL.dll
    Continuing without specified peripheral...


    and the DLL then crashes with:

    UV2 caused an invalid page fault in
    module SPERIDLL.DLL at 0167:02acbce7.
    Registers:
    EAX=0088ed88 CS=0167 EIP=02acbce7 EFLGS=00010202
    EBX=00000000 SS=016f ESP=0088ed14 EBP=0088ed1c
    ECX=02b0a6ac DS=016f ESI=00000001 FS=0d9f
    EDX=02b0a6ac ES=016f EDI=02af80c0 GS=0000
    Bytes at CS:EIP:
    3b 73 0c 7c 18 68 fe 00 00 00 68 c4 a5 af 02 e8 
    Stack dump:
    00000020 02b0a8c8 0088ed5c 02acbc7a 00000000 00000001 00000020 02af80c0 0088ed88 02aed087 02afa700 0088ed2c 00000000 0088ed7c 02aed087 00000000
    and then:
    UV2 caused an invalid page fault in
    module SPERIDLL.DLL at 0167:02acbce7.
    Registers:
    EAX=0088e700 CS=0167 EIP=02acbce7 EFLGS=00010202
    EBX=00000000 SS=016f ESP=0088e684 EBP=0088e68c
    ECX=02b0a6ac DS=016f ESI=00000001 FS=0d9f
    EDX=02b0a6ac ES=016f EDI=00000000 GS=0000
    Bytes at CS:EIP:
    3b 73 0c 7c 18 68 fe 00 00 00 68 c4 a5 af 02 e8 
    Stack dump:
    00000000 02b0a8c8 0088e6cc 02acbc7a 00000000 00000001 00000000 00000000 0088e700 02aed087 02afa700 0088e69c 00000000 4956555c 4e4f4953 00000000 

    If I try to debug this, the corresponding message from BCB is:
    Project C:\Program Files\Keil\UV2\uv2.exe faulted with message:
    'access violation at 0x02adbcf7: read of address 0xffffffff'.
    Process stopped. Use Step or Run to continue.


    I have tried setting a BCB breakpoint on AgsiEntry, but it is not reached.

    Any ideas, anyone?

Children