初始提交
This commit is contained in:
89
dtest/jump_test/jump_test.c
Normal file
89
dtest/jump_test/jump_test.c
Normal file
@@ -0,0 +1,89 @@
|
||||
/****************************************************************************
|
||||
|
||||
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
||||
|
||||
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
||||
be copied by any method or incorporated into another program without
|
||||
the express written consent of Aerospace C.Power. This Information or any portion
|
||||
thereof remains the property of Aerospace C.Power. The Information contained herein
|
||||
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
||||
liability for its use in any way and conveys no license or title under
|
||||
any patent or copyright and makes no representation or warranty that this
|
||||
Information is free from patent or copyright infringement.
|
||||
|
||||
****************************************************************************/
|
||||
#include "ahb.h"
|
||||
|
||||
#include "iot_io.h"
|
||||
#include "dbg_io.h"
|
||||
#include "flash.h"
|
||||
#include "sfc.h"
|
||||
#include "smc.h"
|
||||
#include "sram.h"
|
||||
#include "gpio_mtx.h"
|
||||
#include "sec_glb.h"
|
||||
|
||||
#define PSRAM_PRIME_ADDR 0x04000000
|
||||
|
||||
typedef void (*pJump)(void);
|
||||
|
||||
void gpio_sel()
|
||||
{
|
||||
gpio_mtx_enable();
|
||||
gpio_sig_info_t sfc = {
|
||||
6,
|
||||
{
|
||||
{IO_TYPE_OUT, 0, 23, 0xff, 6},
|
||||
{IO_TYPE_OUT, 0, 24, 0xff, 7},
|
||||
{IO_TYPE_IO, 0, 25, 4, 8},
|
||||
{IO_TYPE_IO, 0, 26, 5, 9},
|
||||
{IO_TYPE_IO, 0, 27, 6, 10},
|
||||
{IO_TYPE_IO, 0, 28, 7, 11}
|
||||
}
|
||||
};
|
||||
gpio_module_pin_select(&sfc);
|
||||
gpio_module_sig_select(&sfc, GPIO_MTX_MODE_MATRIX);
|
||||
|
||||
gpio_sig_info_t smc = {
|
||||
6,
|
||||
{
|
||||
{IO_TYPE_OUT, 0, 37, 0xff, 0},
|
||||
{IO_TYPE_OUT, 0, 38, 0xff, 1},
|
||||
{IO_TYPE_IO, 0, 39, 0, 2},
|
||||
{IO_TYPE_IO, 0, 40, 1, 3},
|
||||
{IO_TYPE_IO, 0, 41, 2, 4},
|
||||
{IO_TYPE_IO, 0, 42, 3, 5}
|
||||
}
|
||||
};
|
||||
gpio_module_pin_select(&smc);
|
||||
gpio_module_sig_select(&smc, GPIO_MTX_MODE_CORE);
|
||||
}
|
||||
|
||||
void emc_rst() {
|
||||
ahb_cache_enable();
|
||||
sec_glb_enable(SEC_GLB_EMC);
|
||||
flash_init(1);
|
||||
sram_qspi_init();
|
||||
|
||||
sram_qspi_enter();
|
||||
hal_smc_qspi_quad_cfg(0);
|
||||
ahb_cache_enable();
|
||||
ahb_cache_reset();
|
||||
}
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
int main(void) {
|
||||
volatile int i = 0;
|
||||
gpio_sel();
|
||||
dbg_uart_init();
|
||||
iot_printf("start to run jump test\r\n");
|
||||
uint32_t addr = PSRAM_PRIME_ADDR;
|
||||
emc_rst();
|
||||
for(i = 0; i< 1000; i++);
|
||||
pJump pjump = (pJump) addr;
|
||||
pjump();
|
||||
return 0;
|
||||
}
|
||||
#endif // __GCC__
|
||||
|
||||
Reference in New Issue
Block a user