Initial import of NFC GNSS SDK project
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
#include <stdint.h>
|
||||
#include "cinit.h"
|
||||
#include "syscall-arom.h"
|
||||
#include "log.h"
|
||||
#include "bl2_arg.h"
|
||||
#ifdef MODULE_LOADTABLE
|
||||
#include "loadtable.h"
|
||||
#endif
|
||||
#include "pmu.h"
|
||||
#ifdef MODULE_NVCTR_SYSCALL
|
||||
#include "nvctr_syscall.h"
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
extern int main(void);
|
||||
/*---------------------------------------------------------------------------*/
|
||||
__attribute__((target("arm"), section(".text.boot")))
|
||||
int
|
||||
_start(bl2_arg_t *arg)
|
||||
{
|
||||
#ifdef MODULE_LOADTABLE
|
||||
if(process_loadtable() < 0) {
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
cinit_clear_bss();
|
||||
syscall_init();
|
||||
|
||||
#ifdef MODULE_NVCTR_SYSCALL
|
||||
/*
|
||||
* Can not put it in the syscall_init() because syscall_init()
|
||||
* may be invoked in process_loadtable() for compressed image
|
||||
* and the code is not ready at that time.
|
||||
*/
|
||||
nvctr_arom_refs_init();
|
||||
#endif
|
||||
|
||||
bl2_arg_init(arg);
|
||||
arg = bl2_arg_get();
|
||||
if(arg && arg->disable_log) {
|
||||
log_set_level("main", LOG_LEVEL_ERR);
|
||||
} else {
|
||||
if(usb_connect() == 0) {
|
||||
log_set_level("main", LOG_LEVEL_PRINT);
|
||||
}
|
||||
}
|
||||
|
||||
cinit_call_constructors();
|
||||
|
||||
int rc = main();
|
||||
|
||||
return rc;
|
||||
}
|
||||
Reference in New Issue
Block a user