54 lines
1.2 KiB
C
54 lines
1.2 KiB
C
#include "tos_k.h"
|
|
#include "mpmain.h"
|
|
#include "mpconfigboard.h"
|
|
|
|
#ifdef MP_USING_VFS
|
|
#include "tos_vfs.h"
|
|
#include "ff.h"
|
|
#endif /* MP_USING_VFS */
|
|
|
|
#ifdef MP_USING_QSPI_FLASH
|
|
#include "w25qxx.h"
|
|
#endif /* MP_USING_QSPI_FLASH */
|
|
|
|
#define MP_TASK_PRIO (3)
|
|
#ifndef MP_TASK_STACK_SIZE
|
|
#define MP_TASK_STACK_SIZE (4 * 1024)
|
|
#endif
|
|
|
|
// MicroPython task stack
|
|
__STATIC__ k_stack_t mp_task_stack[MP_TASK_STACK_SIZE];
|
|
__STATIC__ k_task_t mp_task;
|
|
|
|
void mp_entry(void *arg) {
|
|
|
|
#ifdef MP_USING_VFS
|
|
extern vfs_blkdev_ops_t sd_dev;
|
|
extern vfs_fs_ops_t fatfs_ops;
|
|
|
|
tos_vfs_block_device_register("/dev/sd", &sd_dev);
|
|
tos_vfs_fs_register("fatfs_sd", &fatfs_ops);
|
|
|
|
if (tos_vfs_fs_mount("/dev/sd", "/fs", "fatfs_sd") != 0) {
|
|
printf("mount failed!\n");
|
|
}
|
|
#endif /* MP_USING_VFS */
|
|
|
|
for (;;) {
|
|
mp_main();
|
|
tos_task_delay(100);
|
|
}
|
|
}
|
|
|
|
void application_entry(void *arg) {
|
|
|
|
#ifdef MP_USING_QSPI_FLASH
|
|
w25qxx_init();
|
|
w25qxx_memory_mapped();
|
|
#endif /* MP_USING_QSPI_FLASH */
|
|
|
|
tos_task_create(&mp_task, "micropython", mp_entry,
|
|
K_NULL, MP_TASK_PRIO, mp_task_stack,
|
|
MP_TASK_STACK_SIZE, 0);
|
|
}
|