Copy Link
Add to Bookmark
Report

making ADS project file for the GP32

sang's profile picture
Published in 
GP32
 · 16 Aug 2021

    ADS (ARM Developer Suite) evaluation version You can request ADS 45-day evaluation at ARM homepage. It will delivered to you in 3 weeks.
  1. making an empty project file
    1. run ADS and select menu "File/New...".
    2. select "ARM Executable Image" and type project name, select the location where the project file will be generated, and press "OK" button. if you check the option "Create Folder" in folder selection dialog box, it will make the folder with same name as project and generate project file in it. (We, Gamepark, recommend you a folder structure. (for more details, refer to "GP32 free application project structure".)

  2. adding file(s)
    1. add necessary files by selecting menu "Project/Add Files...". mandatory files are as follow.
      1. debug/release target common files
        1. work/lib/gp/gplib/src/target/gpstart.c
        2. work/lib/gp/gplib/src/target/user_init.s
        3. work/lib/gp/gplib/

      2. debug target specific files
        1. work/lib/gp/gplib/gplibads/gp_entry_Data/Debug/ObjectCode/init.o
        2. work/lib/gp/gplib/gplibads/debug/gpos.a
        3. work/lib/gp/gplib/gplibads/debug/gpgraphic.a
        4. work/lib/gp/gplib/gplibads/debug/gpfont.a
        5. work/lib/gp/gplib/gplibads/debug/gpstdlib.a
        6. work/lib/gp/gplib/gplibads/debug/gpsound.a
        7. work/lib/gp/gplib/gplibads/debug/gpmem.a
        8. work/lib/gp/gplib/gplibads/debug/gpfont8.a(optional)
        9. work/lib/gp/gplib/gplibads/debug/gpfont16.a(optional)
        10. work/lib/gp/gplib/gplibads/debug/gpgraphic8.a(optional)
        11. work/lib/gp/gplib/gplibads/debug/gpgraphic16.a(optional)
        12. work/lib/gp/gplib/gplibads/debug/gpnet.a(optional)
        13. work/lib/gp/gplib/gplibads/debug/gpstdio.a(optional)

      3. release target specific files
        1. work/lib/gp/gplib/gplibads/gp_entry_Data/Release/ObjectCode/init.o
        2. work/lib/gp/gplib/gplibads/release/gpos.a
        3. work/lib/gp/gplib/gplibads/release/gpgraphic.a
        4. work/lib/gp/gplib/gplibads/release/gpfont.a
        5. work/lib/gp/gplib/gplibads/release/gpstdlib.a
        6. work/lib/gp/gplib/gplibads/release/gpsound.a
        7. work/lib/gp/gplib/gplibads/release/gpmem.a
        8. work/lib/gp/gplib/gplibads/release/gpfont8.a(optional)
        9. work/lib/gp/gplib/gplibads/release/gpfont16.a(optional)
        10. work/lib/gp/gplib/gplibads/release/gpgraphic8.a(optional)
        11. work/lib/gp/gplib/gplibads/release/gpgraphic16.a(optional)
        12. work/lib/gp/gplib/gplibads/release/gpnet.a(optional)
        13. work/lib/gp/gplib/gplibads/release/gpstdio.a(optional)

  3. configuring project
    1. debug target configuration
      1. set default target as Debug. you can do this by selecting menu "Project->Set Default Target" or selecting one from the combobox in "Files" tab.
      2. select menu "Edit/Debug Settings..."
      3. Target/Target Setting
        1. change Output Directory where output file will be produced if necessary. this is not required. the name of output file will be "project_name.axf".

      4. Target/Access Paths
        1. add "work/lib/gp/gplib/include" by clicking "Add" button. if more include paths are needed, add them in the same way.

      5. Language Settings/ARM Assembler
        1. select "ARM9TDMI" as "Target/Architecture or Processor".
        2. add macro "GP_DBG SETL {TRUE}" into "Predefines/List of Predefines" as follows. type "GP_DBG" in Variable, select "SETL" as Directive, select "True" as Numeric Value, and click "Add" button.

      6. Language Settings/ARM C Compiler
        1. select "ARM9TDMI" as "Target and Source/Architecture or Processor".

      7. Language Settings/ARM C++ Compiler
        1. select "ARM9TDMI" as "Target and Source/Architecture or Processor"

      8. Linker/ARM Linker
        1. set RO Base in "Output/Simple image" to "0xc000000". set RW Base as proper value for your application. the heap size will increase if this value is set close to RO Base value.
        2. type "init.o" in "Layout/Object/Symbol" and "init" in Section.

      9. now, press "Save" button if all necessary configurations are set.

    2. release target configuration
      1. set Release as default target Release. you can do this by selecting menu "Project->Set Default Target" or select one from combobox in "Files" tab.
      2. select menu "Edit/Release Settings...".
      3. Target/Target Setting
        1. select "ARM fromELF" as Post-linker
        2. set Output Directory to the location where the output file will be produced. this is not required. output file will be "project_name.axf".

      4. Target/Access Paths
        1. add "work/lib/gp/gplib/include" by clicking "Add" button. if more include paths are needed, add them in the same way.

      5. Language Settings/ARM Assembler
        1. select "ARM9TDMI" as "Target/Architecture or Processor"
        2. add "GP_DBG SETL {FALSE}" into "Predefines/List of Predefines" as follows. type "GP_DBG" in Variable, select "SETL" as Directive, select "False" as Numeric Value, and press "Add" button.

      6. Language Settings/ARM C Compiler
        1. select "ARM9TDMI" as "Target and Source/Architecture or Processor".

      7. Language Settings/ARM C++ Compiler
        1. select "ARM9TDMI" as "Target and Source/Architecture or Processor".

      8. Linker/ARM Linker
        1. set RO Base in "Output/Simple image" to "0xc000000". set RW Base as proper value for your application. the heap size will increase if this value is set close to RO Base value.
        2. type "init.o" in "Layout/Object/Symbol" and "init" in Section.

      9. Linker/ARM fromELF
        1. set "Output format" to "Plain Binary".
        2. set "Output file name". if not set, the output will be produced with the name "project_name.bin" in the same folder where the output file is produced.

      10. now, press "Save" button if all necessary configurations are set.

  4. Building
    1. time to build. press "F7" or select menu "Project/Make" to begin building. add necessary library files if needed. (for example, you may have to add gpgraphic16.a if you use 16-bit graphics APIs.)

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT