|
Gocator Development Kit
|
The Gocator Development Kit (GDK) provides a complete framework for the development, testing and deployment of custom Gocator firmware.
Using this kit, custom firmware upgrade packages containing custom tools can be generated and loaded onto sensors.
The GDK prerequisites package can be downloaded from the LMI website.
New versions are made available when the GDK dependencies change.
The GDK build system has the following pre-requisites:
Microsoft Visual Studio 2017 is needed for development and debugging. Debugging is supported only for Desktop targets (i.e. Win32/x64). No debugging support is provided for the embedded targets.
Make sure to select at least the following options from the "Workloads" tab:
Navigate to the "Individual components" tab and add the following options:
The build steps for the GDK are automated using the Python programming language. The Python distribution can be downloaded for free. Use Python version 3.4 or later. After installation make sure the python.exe is in the %PATH% environment variable.
Link: https://www.python.org/downloads/
The GCC ARM7 tools are distributed as an installer for Windows and need to be installed at C:\tools\GccArm7_4.9.4-p23 by choosing the default installation path.
Installer: GccArm7_4.9.4-p23_55732ba7.exe
The GCC C64X tools are distributed as an installer for Windows and need to be installed at C:\tools\GccC64x_4.9.4-p23 by choosing the default installation path.
Installer: GccC64x_4.9.4-p23_55732ba7.exe
The GCC ARM8 tools are distributed as an installer for Windows and need to be installed at C:\tools\GccArm8_4.9.4-p13 by choosing the default installation path.
Installer: GccArm8_4.9.4-p13_8758.exe
The GCC X64 tools are distributed as an installer for Windows and need to be installed at C:\tools\GccX64_4.9.4-p23 by choosing the default installation path.
Installer: GccX64_4.9.4-p23_55732ba7.exe
The Texas Instruments C6000 Code Generation Tools 7.4.13 need to be installed at C:\ti\cgtools_7.4.13.
Installer: ti_cgt_c6000_7.4.13_windows_installer.exe
The Texas Instruments BIOS package needs to be installed at C:\ti\bios_6_42_03_35.
Installer: bios_setupwin32_6_42_03_35.exe
A sample project can be found under Gocator\GdkAppSample. This project can be built and used directly. It can also serve as a template for new projects.
The supplied sample project will build either a win32/x64 DLL (for use with the emulator) or a sensor firmware upgrade package.
The dlls should start with GdkApp.
After compiling for the sensor, GdkAppSample.xml should be copied to the /pkg folder and renamed with the name of the new tool.
The library name is defined by the assembly object name. The assembly object name can be defined by modifying Asm.x.h and Asm.c in the sample project. This is useful so that libraries can be uniquely distinguished and versioned. By default, ToolAsm is used as the GDK library name, all instances of ToolAsm must be replaced in three files; Asm.x.h, Asm.h and Asm.c
In Asm.x.h the assembly declaring macro takes a variable that is used as the library name. ToolAsm is used as the default assembly name, this can be modified to rename the library. This name must be the same as the one specified in Asm.h and Asm.c.
The version is also defined here as TOOL_VERSION:
In Asm.h, the GDK library constructor is declared. ToolAsm is used as the prefix of the constructor, this can be modified to rename the library. This name must be the same as the one specified in Asm.x.h and Asm.c.
In Asm.c the assembly begin macro takes a variable that is used as the library name. ToolAsm is used as the default assembly name, this can be modified to rename the library. This name must be the same as the one specified in Asm.x.h and Asm.h.
The emulator will now use the custom GDK module when emulating scenarios. It is possible to attach a debugger to the kFramework.exe process at run time for debugging.
Custom upgrade packages are built into the pkg directory. These upgrade packages can be loaded to a Gocator sensor using the firmware upgrade process.
Use the following steps to recover from bad firmware: