modified project to support Qt Creator inferior debugging through BDM.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#set disassemble-next-line on
|
||||
define tr
|
||||
!killall m68k-bdm-gdbserver
|
||||
target remote | m68k-bdm-gdbserver pipe /dev/bdmcf3
|
||||
#target remote | m68k-bdm-gdbserver pipe /dev/tblcf3
|
||||
#target dbug /dev/ttyS0
|
||||
|
||||
@@ -228,3 +228,4 @@ COPYING
|
||||
COPYING.LESSER
|
||||
dump.bdm
|
||||
mcf5474.gdb
|
||||
Makefile
|
||||
|
||||
@@ -39,6 +39,7 @@ CFLAGS=-mcpu=5474 \
|
||||
-Wa,--register-prefix-optional
|
||||
CFLAGS_OPTIMIZED = -mcpu=5474 \
|
||||
-Wall \
|
||||
-g3 \
|
||||
-O2 \
|
||||
-fomit-frame-pointer \
|
||||
-ffreestanding \
|
||||
|
||||
@@ -61,6 +61,10 @@ define ib
|
||||
setup-dram
|
||||
end
|
||||
|
||||
define run
|
||||
continue
|
||||
end
|
||||
|
||||
tr
|
||||
ib
|
||||
load
|
||||
load firebee/ram.elf
|
||||
|
||||
@@ -509,7 +509,7 @@ irq6: // MFP interrupt from FPGA
|
||||
movem.l (sp),d0-d1/a0-a1 // restore registers saved above
|
||||
lea 4 * 4(sp),sp // adjust stack
|
||||
|
||||
bra irq6_os // call OS handler
|
||||
beq irq6_os // call OS handler
|
||||
rte
|
||||
|
||||
irq6_os: // call native OS irq6 handler
|
||||
|
||||
@@ -204,20 +204,20 @@ static int num_locked_mmu_maps = sizeof(locked_map) / sizeof(struct mmu_mapping)
|
||||
|
||||
static struct mmu_mapping memory_map[] =
|
||||
{
|
||||
/* map system vectors supervisor-protected */
|
||||
/* map OS system vectors supervisor-protected */
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0x800,
|
||||
MMU_PAGE_SIZE_1K,
|
||||
{ CACHE_WRITETHROUGH, SV_USER, 0, ACCESS_READ | ACCESS_WRITE | ACCESS_EXECUTE },
|
||||
{ CACHE_WRITETHROUGH, SV_PROTECT, 0, ACCESS_READ | ACCESS_WRITE | ACCESS_EXECUTE },
|
||||
},
|
||||
{
|
||||
0x800,
|
||||
0x800,
|
||||
0x800,
|
||||
MMU_PAGE_SIZE_1K,
|
||||
{ CACHE_WRITETHROUGH, SV_USER, 0, ACCESS_READ | ACCESS_WRITE | ACCESS_EXECUTE },
|
||||
{ CACHE_WRITETHROUGH, SV_PROTECT, 0, ACCESS_READ | ACCESS_WRITE | ACCESS_EXECUTE },
|
||||
},
|
||||
{
|
||||
/* when the first 4k are filled with 1k pages, we can switch to 8k pages */
|
||||
@@ -434,7 +434,11 @@ bool access_exception(uint32_t pc, uint32_t format_status)
|
||||
case 0x8020000: /* TLB miss on data write */
|
||||
case 0xc020000: /* TLB miss on data read or read-modify-write */
|
||||
fault_address = MCF_MMU_MMUAR;
|
||||
dbg("access fault - TLB miss at %p. Fault status = 0x0%x\r\n", pc, fault_status);
|
||||
/*
|
||||
* the following line must stay commented or we risk a double fault (debugging
|
||||
* output requiring itself a page mapping):
|
||||
*/
|
||||
// dbg("access fault - TLB miss at %p. Fault status = 0x0%x\r\n", pc, fault_status);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -1093,6 +1093,7 @@ void initialize_hardware(void)
|
||||
|
||||
/* the following only makes sense _after_ DDRAM has been initialized */
|
||||
clear_bss_segment();
|
||||
xprintf(".bss segment cleared\r\n");
|
||||
|
||||
if (BAS_LMA != BAS_IN_RAM)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user