Problems with 9s12dp256 bootloader and ICC12

General problems? Ask here!

Moderator: cbarnes

Problems with 9s12dp256 bootloader and ICC12

Postby zimmea » Wed Mar 21, 2007 10:09 am

Hi All,
I'm currently using a 9s12DP256B chip from Technological Arts.
I'm using ICC12 v6.15 and the SRecCvt GUI

I'm having a lot of issues compiling a program that will load via the boot
laoder. This is my first time using an HC12 chip, I have experience with a c8051
chip.

I tried following the tutorial located here
http://support.technologicalarts.ca/doc ... es/How%20t\
o%20use%20ICC12%20with%20Adapt9S12DP256%20and%20FLASH%20Loader.pdf

I've also scanned a few msg boards but havent found any information that helps
me out.

My test program is supposed to turn on the LED on the board, but when i download
and reset to EVB mode, nothing happens.

Compiler settings:
Custom target
Memory Address: 0x4000.0x7FFF:0xC000.0xFFFF
Program Memory: 0x1000
Stack Pointer: 0x4000
Expanded Memory Addr: 0xC0000.0xF7FFF

SRecCvt GUI version 1.0.7
Settings
Device: MC9S12Dx256
Memory: Flash
operation: Convert
Input file format: Banked
Output File Format: Linear
S record size: 32

I'm using the standard hcs12dp256.h file that comes with ICC


Any help would be much apreciated! I'm using the board for an independant study
and need to get it working some time soon.
Thanks!

Here is my code

main.c

#include "hcs12dp256.h"

void main()

{

DDRP = 0xFF;
PTP = 0xFF;

}


vectors.c

#pragma nonpaged_function _start
extern void _start(void); /* entry point in crt??.s */

#define DUMMY_ENTRY (void (*)(void))0xFFFF

#pragma abs_address:0xefd0

/* change the above address if your vector starts elsewhere
*/
void (*interrupt_vectors[])(void) =
{
/* to cast a constant, say 0xb600, use
(void (*)())0xb600
*/
DUMMY_ENTRY, /*Reserved $FF80*/
DUMMY_ENTRY, /*Reserved $FF82*/
DUMMY_ENTRY, /*Reserved $FF84*/
DUMMY_ENTRY, /*Reserved $FF86*/
DUMMY_ENTRY, /*Reserved $FF88*/
DUMMY_ENTRY, /*Reserved $FF8A*/
DUMMY_ENTRY, /*PWM Emergency Shutdown*/
DUMMY_ENTRY, /*Port P Interrupt*/
DUMMY_ENTRY, /*MSCAN 4 Transmit*/
DUMMY_ENTRY, /*MSCAN 4 Receive*/
DUMMY_ENTRY, /*MSCAN 4 Error*/
DUMMY_ENTRY, /*MSCAN 4 Wake-up*/
DUMMY_ENTRY, /*MSCAN 3 Transmit*/
DUMMY_ENTRY, /*MSCAN 3 Receive*/
DUMMY_ENTRY, /*MSCAN 3 Error*/
DUMMY_ENTRY, /*MSCAN 3 Wake-up*/
DUMMY_ENTRY, /*MSCAN 2 Transmit*/
DUMMY_ENTRY, /*MSCAN 2 Receive*/
DUMMY_ENTRY, /*MSCAN 2 Error*/
DUMMY_ENTRY, /*MSCAN 2 Wake-up*/
DUMMY_ENTRY, /*MSCAN 1 Transmit*/
DUMMY_ENTRY, /*MSCAN 1 Receive*/
DUMMY_ENTRY, /*MSCAN 1 Error*/
DUMMY_ENTRY, /*MSCAN 1 Wake-up*/
DUMMY_ENTRY, /*MSCAN 0 Transmit*/
DUMMY_ENTRY, /*MSCAN 0 Receive*/
DUMMY_ENTRY, /*MSCAN 0 Error*/
DUMMY_ENTRY, /*MSCAN 0 Wake-up*/
DUMMY_ENTRY, /*Flash*/
DUMMY_ENTRY, /*EEPROM*/
DUMMY_ENTRY, /*SPI2*/
DUMMY_ENTRY, /*SPI1*/
DUMMY_ENTRY, /*IIC Bus*/
DUMMY_ENTRY, /*DLC*/
DUMMY_ENTRY, /*SCME*/
DUMMY_ENTRY, /*CRG Lock*/
DUMMY_ENTRY, /*Pulse Accumulator B Overflow*/
DUMMY_ENTRY, /*Modulus Down Counter Underflow*/
DUMMY_ENTRY, /*Port H Interrupt*/
DUMMY_ENTRY, /*Port J Interrupt*/
DUMMY_ENTRY, /*ATD1*/
DUMMY_ENTRY, /*ATD0*/
DUMMY_ENTRY, /*SCI1*/
DUMMY_ENTRY, /*SCI0*/
DUMMY_ENTRY, /*SPI0*/
DUMMY_ENTRY, /*Pulse Accumulator A Input Edge*/
DUMMY_ENTRY, /*Pulse Accumulator A Overflow*/
DUMMY_ENTRY, /*Timer Overflow*/
DUMMY_ENTRY, /*Timer Channel 7*/
DUMMY_ENTRY, /*Timer Channel 6*/
DUMMY_ENTRY, /*Timer Channel 5*/
DUMMY_ENTRY, /*Timer Channel 4*/
DUMMY_ENTRY, /*Timer Channel 3*/
DUMMY_ENTRY, /*Timer Channel 2*/
DUMMY_ENTRY, /*Timer Channel 1*/
DUMMY_ENTRY, /*Timer Channel 0*/
DUMMY_ENTRY, /*Real Time Interrupt*/
DUMMY_ENTRY, /*IRQ*/
DUMMY_ENTRY, /*XIRQ*/
DUMMY_ENTRY, /*SWI*/
DUMMY_ENTRY, /*Unimplement Intruction Trap*/
DUMMY_ENTRY, /*COP failure reset*/
DUMMY_ENTRY, /*Clock monitor fail reset*/
_start, /*Reset*/
};
zimmea
Newbie
Newbie
 
Posts: 1
Joined: Tue Mar 20, 2007 9:21 pm
Location: Troy, ny

Return to General Problems

Who is online

Users browsing this forum: No registered users and 2 guests

cron