Skip to content

Commit

Permalink
Fixed building of several stubs in parallel
Browse files Browse the repository at this point in the history
  • Loading branch information
zaddach committed Mar 17, 2014
1 parent 4f353e1 commit 5d04c67
Show file tree
Hide file tree
Showing 13 changed files with 199 additions and 208 deletions.
27 changes: 21 additions & 6 deletions CMakeLists.txt
Expand Up @@ -6,18 +6,33 @@
PROJECT(stub C ASM)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

FUNCTION(ADDPREFIX list_name prefix)
# create empty list - necessary?
SET(${list_name}_TMP)

# prefix and suffix elements
foreach(l ${${list_name}})
list(APPEND ${list_name}_TMP ${prefix}${l} )
endforeach()

# replace list by tmp list
SET(${list_name} ${${list_name}_TMP} PARENT_SCOPE)
UNSET(${list_name}_TMP)
ENDFUNCTION(ADDPREFIX)

INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include
${PROJECT_BINARY_DIR})

INCLUDE(cmake/platform_arm.cmake)

SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") #Suppress -rdynamic in linker flags

SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -march=armv5t -mno-thumb-interwork -fPIC -Os")
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -mno-thumb-interwork -fPIC")
SET(CMAKE_ASM_FLAGS "-fPIC -Wall" )

#INCLUDE (cmake/avatarstub_qemu_versatilepb.cmake)
#INCLUDE (cmake/avatarstub_ST3320413AS_0x7000.cmake)
#INCLUDE (cmake/gdbstub_ST3320413AS_0x7000.cmake)
#INCLUDE (cmake/gdbstub_qemu_versatilepb.cmake)
INCLUDE (cmake/gdbstub_plc_bootloader_0x16000.cmake)
#ADD_SUBDIRECTORY (cmake/avatarstub_qemu_versatilepb)
ADD_SUBDIRECTORY (cmake/avatarstub_ST3320413AS_0x7000)
ADD_SUBDIRECTORY (cmake/gdbstub_ST3320413AS_0x7000)
ADD_SUBDIRECTORY (cmake/gdbstub_qemu_versatilepb)
ADD_SUBDIRECTORY (cmake/gdbstub_plc_bootloader_0x16000)
#ADD_SUBDIRECTORY (cmake/gdbstub_inforad_k0_0x0)
7 changes: 7 additions & 0 deletions README.md
Expand Up @@ -16,3 +16,10 @@ Adapting the GDB stub for your platform is easy: Copy one of the
existing gdbstub_*.cmake files in the cmake/ directory and adapt
it to your platform. You might need to develop additional serial
drivers and platform initialization files.


*test_programs* contains simple programs that test one functionality
of an embedded system - e.g., serial output, CPU features, debug
features.
Those programs are meant to discover an embedded system before the
GDB stub is ported.
52 changes: 0 additions & 52 deletions cmake/avatarstub_ST3320413AS_0x7000.cmake

This file was deleted.

34 changes: 34 additions & 0 deletions cmake/avatarstub_ST3320413AS_0x7000/CMakeLists.txt
@@ -0,0 +1,34 @@
# Copyright 2013-2014 Jonas Zaddach <zaddach@eurecom.fr>, EURECOM
#
# You can redistribute and/or modify this program under the terms of the
# GNU General Public License version 2 or later.

# Build file for the Seagate ST3320413AS hard drive.

SET (STUB_ASSEMBLER_FILES
src/lowlevel_arm.S
src/lowlevel_ST3320413AS.S
src/utils_arm.S
)

SET (STUB_ARM_FILES
)

SET (STUB_THUMB_FILES
src/AvatarHostInterface.c
# src/gdbstub_arm.c
# src/utils.c
src/Serial_uart16550.c
src/ArmRegisterMap.c
src/ArmGdbHelpers.c
src/Memory.c
src/stub.c
src/crc.c
)

SET (STUB_NAME avatarstub_ST3320413AS_0x7000)
SET (STUB_LINKER_FILE ${PROJECT_SOURCE_DIR}/link/arm_ST3320413AS_0x7000.ld)
SET (STUB_CONFIGURATION_HEADER ${PROJECT_SOURCE_DIR}/include/ST3320413AS_avatar_config.h)
SET (TARGET_ARCH armv5t)

BUILD_DEBUG_STUB()
File renamed without changes.
52 changes: 0 additions & 52 deletions cmake/gdbstub_ST3320413AS_0x7000.cmake

This file was deleted.

35 changes: 35 additions & 0 deletions cmake/gdbstub_ST3320413AS_0x7000/CMakeLists.txt
@@ -0,0 +1,35 @@
# Copyright 2013-2014 Jonas Zaddach <zaddach@eurecom.fr>, EURECOM
#
# You can redistribute and/or modify this program under the terms of the
# GNU General Public License version 2 or later.

# Build file for the Seagate ST3320413AS hard drive.


SET (STUB_ASSEMBLER_FILES
src/lowlevel_arm.S
src/lowlevel_ST3320413AS.S
src/utils_arm.S
)

SET (STUB_ARM_FILES
)

SET (STUB_THUMB_FILES
src/GdbHostInterface.c
# src/gdbstub_arm.c
src/utils.c
src/Serial_uart16550.c
src/ArmRegisterMap.c
src/ArmGdbHelpers.c
src/Memory.c
src/stub.c
src/crc.c
)

SET (STUB_NAME gdbstub_ST3320413AS_0x7000)
SET (STUB_LINKER_FILE ${PROJECT_SOURCE_DIR}/link/arm_ST3320413AS_0x7000.ld)
SET (STUB_CONFIGURATION_HEADER ${PROJECT_SOURCE_DIR}/include/ST3320413AS_gdb_config.h)
SET (TARGET_ARCH armv5t)

BUILD_DEBUG_STUB()
47 changes: 0 additions & 47 deletions cmake/gdbstub_plc_bootloader_0x16000.cmake

This file was deleted.

33 changes: 33 additions & 0 deletions cmake/gdbstub_plc_bootloader_0x16000/CMakeLists.txt
@@ -0,0 +1,33 @@
# Copyright 2013-2014 Lucian Cojocar <lucian.cojocar@vu.nl>, VU
#
# You can redistribute and/or modify this program under the terms of the
# GNU General Public License version 2 or later.

# Build file for the Siemens S7-1200 PLC (6E7S212-1BE31-0XB0)

SET (STUB_ASSEMBLER_FILES
src/lowlevel_arm.S
src/lowlevel_plc.S
)

SET (STUB_ARM_FILES
src/GdbHostInterface.c
# src/gdbstub_arm.c
src/crc.c
src/utils.c
src/Serial_pl011.c
src/ArmRegisterMap.c
src/ArmGdbHelpers.c
src/Memory.c
src/stub.c
src/SerialIO.c
src/armv7_cortex_r4.c
)

SET (STUB_NAME gdbstub_plc_bootloader_0x16000)
SET (STUB_LINKER_FILE ${PROJECT_SOURCE_DIR}/link/arm_plc_bootloader_0x16000.ld)
SET (STUB_CONFIGURATION_HEADER ${PROJECT_SOURCE_DIR}/include/plc_bootloader_gdb_config.h)
SET (TARGET_ARCH armv7-r)
SET (TARGET_ENDIAN big-endian)

BUILD_DEBUG_STUB()
50 changes: 0 additions & 50 deletions cmake/gdbstub_qemu_versatilepb.cmake

This file was deleted.

33 changes: 33 additions & 0 deletions cmake/gdbstub_qemu_versatilepb/CMakeLists.txt
@@ -0,0 +1,33 @@
# Copyright 2013-2014 Jonas Zaddach <zaddach@eurecom.fr>, EURECOM
#
# You can redistribute and/or modify this program under the terms of the
# GNU General Public License version 2 or later.

# Build file for the Qemu VersatilePB platform.

SET (STUB_ASSEMBLER_FILES
src/lowlevel_arm.S
src/lowlevel_qemu_versatilepb.S
src/utils_arm.S)

SET (STUB_ARM_FILES
)

SET (STUB_THUMB_FILES
src/utils.c
src/GdbHostInterface.c
src/utils.c
src/Serial_pl011.c
src/ArmRegisterMap.c
src/ArmGdbHelpers.c
src/Memory.c
src/stub.c
src/crc.c
)

SET (STUB_NAME gdbstub_qemu_versatilepb)
SET (STUB_LINKER_FILE ${PROJECT_SOURCE_DIR}/link/arm_ST3320413AS_0x7000.ld)
SET (STUB_CONFIGURATION_HEADER ${PROJECT_SOURCE_DIR}/include/qemu_versatilepb_gdb_config.h)
SET (TARGET_ARCH armv5t)

BUILD_DEBUG_STUB()

0 comments on commit 5d04c67

Please sign in to comment.