Use GPIO2 for led_debug.S
This commit is contained in:
parent
45d4e0da2d
commit
0432ae3745
3 changed files with 11 additions and 4 deletions
|
@ -16,6 +16,8 @@
|
||||||
BSD Licensed as described in the file LICENSE
|
BSD Licensed as described in the file LICENSE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "led_debug.s"
|
||||||
|
|
||||||
/* Some UserException causes, see table Table 4–64 in ISA reference */
|
/* Some UserException causes, see table Table 4–64 in ISA reference */
|
||||||
#define CAUSE_SYSCALL 1
|
#define CAUSE_SYSCALL 1
|
||||||
#define CAUSE_LOADSTORE 3
|
#define CAUSE_LOADSTORE 3
|
||||||
|
@ -314,7 +316,6 @@ InnerLoadStoreExceptionHandler:
|
||||||
/* verified an 8- or 16-bit read
|
/* verified an 8- or 16-bit read
|
||||||
a2 holds instruction, a5 holds mask to apply to read value
|
a2 holds instruction, a5 holds mask to apply to read value
|
||||||
*/
|
*/
|
||||||
|
|
||||||
rsr.excvaddr a3 // read faulting address
|
rsr.excvaddr a3 // read faulting address
|
||||||
ssa8l a3 /* sar is now shift to extract a3's byte */
|
ssa8l a3 /* sar is now shift to extract a3's byte */
|
||||||
movi a4, ~3
|
movi a4, ~3
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
*
|
*
|
||||||
* To have this work from initial reset, without needing an iomux call
|
* To have this work from initial reset, without needing an iomux call
|
||||||
* first, choose a pin where iomux defaults to GPIO (ie 0,2,4,5)
|
* first, choose a pin where iomux defaults to GPIO (ie 0,2,4,5)
|
||||||
|
*
|
||||||
|
* Current sets on=LOW, as the GPIO2 pin is active low
|
||||||
*/
|
*/
|
||||||
LED_GPIO=2
|
LED_GPIO=2
|
||||||
GPIO_DIR_SET = 0x6000030c
|
GPIO_DIR_SET = 0x6000030c
|
||||||
|
@ -19,11 +21,11 @@ GPIO_OUT_CLEAR = 0x60000308
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
// Turn LED on. rega, regb will be clobbered
|
// Turn LED on. rega, regb will be clobbered
|
||||||
.macro led_on rega, regb
|
.macro led_off rega, regb
|
||||||
led_op \rega, \regb, GPIO_OUT_SET
|
led_op \rega, \regb, GPIO_OUT_SET
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
// Turn LED off. rega, regb will be clobbered
|
// Turn LED on. rega, regb will be clobbered
|
||||||
.macro led_off rega, regb
|
.macro led_on rega, regb
|
||||||
led_op \rega, \regb, GPIO_OUT_CLEAR
|
led_op \rega, \regb, GPIO_OUT_CLEAR
|
||||||
.endm
|
.endm
|
||||||
|
|
|
@ -121,6 +121,10 @@ void test_string(const char *string, char *label, bool evict_cache)
|
||||||
void user_init(void)
|
void user_init(void)
|
||||||
{
|
{
|
||||||
sdk_uart_div_modify(0, UART_CLK_FREQ / 115200);
|
sdk_uart_div_modify(0, UART_CLK_FREQ / 115200);
|
||||||
|
|
||||||
|
gpio_enable(2, GPIO_OUTPUT); /* used for LED debug */
|
||||||
|
gpio_write(2, 1); /* active low */
|
||||||
|
|
||||||
printf("\r\n\r\nSDK version:%s\r\n", sdk_system_get_sdk_version());
|
printf("\r\n\r\nSDK version:%s\r\n", sdk_system_get_sdk_version());
|
||||||
test_string(dramtest, "DRAM", 0);
|
test_string(dramtest, "DRAM", 0);
|
||||||
test_string(iramtest, "IRAM", 0);
|
test_string(iramtest, "IRAM", 0);
|
||||||
|
|
Loading…
Reference in a new issue