Add M16C info
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1483 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
be7f04f191
commit
c5b4c3e2e5
@ -44,11 +44,54 @@
|
||||
#ifndef __ASSEMBLY__
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
#include "sfr262.h" /* M16C/26 special function register definitions */
|
||||
#include "skp_lcd.h" /* SKP LCD function definitions */
|
||||
|
||||
/************************************************************************************
|
||||
* Definitions
|
||||
************************************************************************************/
|
||||
|
||||
/* Xin Freq */
|
||||
|
||||
#define XIN_FREQ 20e6 /* 20MHz */
|
||||
|
||||
/* Switches */
|
||||
|
||||
#define S1 p8_3
|
||||
#define S2 p8_2
|
||||
#define S3 p8_1
|
||||
#define S1_DDR pd8_3
|
||||
#define S2_DDR pd8_2
|
||||
#define S3_DDR pd8_1
|
||||
|
||||
/* LEDs */
|
||||
#define RED_LED p8_0
|
||||
#define YLW_LED p7_4
|
||||
#define GRN_LED p7_2
|
||||
|
||||
#define RED_DDR pd8_0 // LED port direction register
|
||||
#define YLW_DDR pd7_4
|
||||
#define GRN_DDR pd7_2
|
||||
|
||||
/********************************************************************************/
|
||||
/* Macro Definitions */
|
||||
/********************************************************************************/
|
||||
|
||||
#define LED_ON 0
|
||||
#define LED_OFF 1
|
||||
|
||||
#define ENABLE_IRQ {_asm(" FSET I");}
|
||||
#define DISABLE_IRQ {_asm(" FCLR I");}
|
||||
|
||||
/* Use these macros for switch inputs */
|
||||
|
||||
#define ENABLE_SWITCHES {S1_DDR = 0; S2_DDR = 0; S3_DDR = 0;}
|
||||
|
||||
/* Use these macros to control the LEDs */
|
||||
|
||||
#define LED(led, state) ((led) = !state)
|
||||
#define ENABLE_LEDS {RED_LED = LED_OFF; YLW_LED = LED_OFF; GRN_LED = LED_OFF; RED_DDR = 1; YLW_DDR = 1; GRN_DDR = 1; }
|
||||
|
||||
/************************************************************************************
|
||||
* Inline Functions
|
||||
************************************************************************************/
|
||||
|
@ -37,9 +37,12 @@ OUTPUT_ARCH(m32c)
|
||||
ENTRY(_stext)
|
||||
SECTIONS
|
||||
{
|
||||
/* The OS entry point is here */
|
||||
/* Flash memory begins at address 0xf0000 for the M20262F8 part and
|
||||
* ends at address 0xfffff (all parts). The program entry point is
|
||||
* the first address in flash
|
||||
*/
|
||||
|
||||
. = 0x00008000;
|
||||
. = 0xf0000;
|
||||
.text : {
|
||||
_stext = ABSOLUTE(.);
|
||||
*(.text)
|
||||
@ -52,8 +55,42 @@ SECTIONS
|
||||
_etext = ABSOLUTE(.);
|
||||
}
|
||||
|
||||
_eronly = ABSOLUTE(.); /* See below */
|
||||
. = ALIGN(4096);
|
||||
_eronly = ABSOLUTE(.); /* End of read-only values */
|
||||
/* .data will be relocated from */
|
||||
/* this address */
|
||||
|
||||
/* The "variable" vector table will be fixed at the following address */
|
||||
|
||||
. = 0xffd00
|
||||
.varvect : {
|
||||
_svarvect = ABSOLUTE(.);
|
||||
*(.varvect)
|
||||
_evarvect = ABSOLUTE(.);
|
||||
}
|
||||
|
||||
/* Followed by the special page/fixed vector table. */
|
||||
|
||||
. = 0xffe00
|
||||
.specpg : {
|
||||
_sspecpg = ABSOLUTE(.);
|
||||
*(.specpg)
|
||||
_especpg = ABSOLUTE(.);
|
||||
}
|
||||
|
||||
. = 0xfffdc
|
||||
.fixvect : {
|
||||
_sfixvect = ABSOLUTE(.);
|
||||
*(.fixvect)
|
||||
_efixvect = ABSOLUTE(.);
|
||||
}
|
||||
|
||||
/* Internal RAM begins at address 0x00400 (all parts) and ends at
|
||||
* address 0x00bff (M20262F6 and M20262F8 parts). With the RAM
|
||||
* region, used is .data followed by .bss. The remainder of RAM
|
||||
* carved up by the start-up code into stacks and heaps.
|
||||
*/
|
||||
|
||||
. = 0x00400;
|
||||
|
||||
.data : {
|
||||
_sdata = ABSOLUTE(.);
|
||||
|
Loading…
x
Reference in New Issue
Block a user