mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 05:23:39 +08:00
board: add blackfin gdb simulator support
With this config you can bootup a Linux kernel in GDB simulator and test Blackfin kernel and userland. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
4846700a1b
commit
9068fe0dea
87
board/gdb/bfin-bf512/linux-4.6.config
Normal file
87
board/gdb/bfin-bf512/linux-4.6.config
Normal file
@ -0,0 +1,87 @@
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_RD_GZIP is not set
|
||||
# CONFIG_RD_BZIP2 is not set
|
||||
# CONFIG_RD_LZMA is not set
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_UID16 is not set
|
||||
# CONFIG_SGETMASK_SYSCALL is not set
|
||||
# CONFIG_SYSFS_SYSCALL is not set
|
||||
# CONFIG_KALLSYMS is not set
|
||||
# CONFIG_BUG is not set
|
||||
# CONFIG_BASE_FULL is not set
|
||||
# CONFIG_ADVISE_SYSCALLS is not set
|
||||
# CONFIG_MEMBARRIER is not set
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_BLOCK is not set
|
||||
CONFIG_BF512=y
|
||||
# CONFIG_SET_GENERIC_CLOCKEVENTS is not set
|
||||
# CONFIG_I_ENTRY_L1 is not set
|
||||
# CONFIG_EXCPT_IRQ_SYSC_L1 is not set
|
||||
# CONFIG_DO_IRQ_L1 is not set
|
||||
# CONFIG_CORE_TIMER_IRQ_L1 is not set
|
||||
# CONFIG_IDLE_L1 is not set
|
||||
# CONFIG_SCHEDULE_L1 is not set
|
||||
# CONFIG_ARITHMETIC_OPS_L1 is not set
|
||||
# CONFIG_ACCESS_OK_L1 is not set
|
||||
# CONFIG_MEMSET_L1 is not set
|
||||
# CONFIG_MEMCPY_L1 is not set
|
||||
# CONFIG_STRCMP_L1 is not set
|
||||
# CONFIG_STRNCMP_L1 is not set
|
||||
# CONFIG_STRCPY_L1 is not set
|
||||
# CONFIG_STRNCPY_L1 is not set
|
||||
# CONFIG_SYS_BFIN_SPINLOCK_L1 is not set
|
||||
# CONFIG_CACHELINE_ALIGNED_L1 is not set
|
||||
# CONFIG_DCACHE_FLUSH_L1 is not set
|
||||
# CONFIG_APP_STACK_L1 is not set
|
||||
# CONFIG_BFIN_INS_LOWOVERHEAD is not set
|
||||
# CONFIG_BFIN_ICACHE is not set
|
||||
# CONFIG_BFIN_DCACHE is not set
|
||||
# CONFIG_C_AMCKEN is not set
|
||||
CONFIG_BINFMT_ELF_FDPIC=y
|
||||
CONFIG_BINFMT_FLAT=y
|
||||
# CONFIG_COREDUMP is not set
|
||||
# CONFIG_SUSPEND is not set
|
||||
# CONFIG_UEVENT_HELPER is not set
|
||||
# CONFIG_STANDALONE is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_BFIN=y
|
||||
CONFIG_SERIAL_BFIN_CONSOLE=y
|
||||
CONFIG_SERIAL_BFIN_UART0=y
|
||||
CONFIG_SERIAL_BFIN_UART1=y
|
||||
# CONFIG_BFIN_OTP is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_MANDATORY_FILE_LOCKING is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_DEFAULT="utf-8"
|
||||
CONFIG_PRINTK_TIME=y
|
||||
# CONFIG_ENABLE_WARN_DEPRECATED is not set
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
# CONFIG_DEBUG_VERBOSE is not set
|
||||
# CONFIG_DEBUG_HUNT_FOR_ZERO is not set
|
||||
# CONFIG_DEBUG_BFIN_HWTRACE_ON is not set
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_ACCESS_CHECK is not set
|
||||
# CONFIG_CRC32 is not set
|
11
board/gdb/bfin-bf512/readme.txt
Normal file
11
board/gdb/bfin-bf512/readme.txt
Normal file
@ -0,0 +1,11 @@
|
||||
Run the simulation with GDB for FDPIC:
|
||||
|
||||
./output/host/usr/bin/bfin-buildroot-linux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
||||
|
||||
Run the simulation with GDB for FLAT:
|
||||
|
||||
./output/host/usr/bin/bfin-buildroot-uclinux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
||||
|
||||
The login prompt will appear in the terminal that started GDB.
|
||||
|
||||
Tested with GDB 7.9
|
4
board/gdb/post-build.sh
Executable file
4
board/gdb/post-build.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
# no simulated network devices at the moment
|
||||
rm -f ${TARGET_DIR}/etc/init.d/S40network
|
||||
rm -rf ${TARGET_DIR}/etc/network/
|
34
configs/gdb_bfin_bf512_defconfig
Normal file
34
configs/gdb_bfin_bf512_defconfig
Normal file
@ -0,0 +1,34 @@
|
||||
# Architecture
|
||||
BR2_bfin=y
|
||||
BR2_bf512=y
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/gdb/post-build.sh"
|
||||
|
||||
# Linux headers same as kernel, a 4.6 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6.3"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/gdb/bfin-bf512/linux-4.6.config"
|
||||
BR2_LINUX_KERNEL_VMLINUX=y
|
||||
|
||||
# Serial port config
|
||||
BR2_TARGET_GENERIC_GETTY=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyBF0"
|
||||
|
||||
# use minimal busybox with hush
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
|
||||
|
||||
# compile gdb sim
|
||||
BR2_PACKAGE_HOST_GDB=y
|
||||
# BR2_PACKAGE_HOST_GDB_TUI is not set
|
||||
# BR2_PACKAGE_HOST_GDB_PYTHON is not set
|
||||
BR2_PACKAGE_HOST_GDB_SIM=y
|
||||
|
16
package/gdb/7.10.1/0005-fix-sim-compile.patch
Normal file
16
package/gdb/7.10.1/0005-fix-sim-compile.patch
Normal file
@ -0,0 +1,16 @@
|
||||
Fix compile on older systems with gcc 4.4.x.
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur gdb-7.10.1.orig//sim/common/sim-base.h gdb-7.10.1/sim/common/sim-base.h
|
||||
--- gdb-7.10.1.orig//sim/common/sim-base.h 2015-05-13 13:03:56.000000000 -0500
|
||||
+++ gdb-7.10.1/sim/common/sim-base.h 2016-07-08 07:44:17.000000000 -0500
|
||||
@@ -72,8 +72,6 @@
|
||||
#define INVALID_INSTRUCTION_ADDRESS ((address_word)0 - 1)
|
||||
#endif
|
||||
|
||||
-/* TODO: Probably should just delete SIM_CPU. */
|
||||
-typedef struct _sim_cpu SIM_CPU;
|
||||
typedef struct _sim_cpu sim_cpu;
|
||||
|
||||
#include "sim-module.h"
|
16
package/gdb/7.11.1/0001-fix-sim-compile.patch
Normal file
16
package/gdb/7.11.1/0001-fix-sim-compile.patch
Normal file
@ -0,0 +1,16 @@
|
||||
Fix compile on older systems with gcc 4.4.x
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur gdb-7.11.1.orig//sim/common/sim-base.h gdb-7.11.1/sim/common/sim-base.h
|
||||
--- gdb-7.11.1.orig//sim/common/sim-base.h 2016-02-09 21:19:39.000000000 -0600
|
||||
+++ gdb-7.11.1/sim/common/sim-base.h 2016-07-08 08:02:09.000000000 -0500
|
||||
@@ -72,8 +72,6 @@
|
||||
#define INVALID_INSTRUCTION_ADDRESS ((address_word)0 - 1)
|
||||
#endif
|
||||
|
||||
-/* TODO: Probably should just delete SIM_CPU. */
|
||||
-typedef struct _sim_cpu SIM_CPU;
|
||||
typedef struct _sim_cpu sim_cpu;
|
||||
|
||||
#include "sim-module.h"
|
@ -31,6 +31,7 @@
|
||||
/dev/ttyAM c 666 0 0 204 16 0 1 3
|
||||
/dev/ttyCPM c 666 0 0 204 46 0 1 4
|
||||
/dev/ttyAMA c 666 0 0 204 64 0 1 4
|
||||
/dev/ttyBF c 666 0 0 204 64 0 1 2
|
||||
/dev/ttySAC c 666 0 0 204 64 0 1 4
|
||||
/dev/ttySC c 666 0 0 204 8 0 1 8
|
||||
/dev/ttyPSC c 666 0 0 204 148 0 1 4
|
||||
|
Loading…
Reference in New Issue
Block a user