Enhance wasm loader and interpreter, enhance code security and update document (#149)

This commit is contained in:
wenyongh
2019-12-13 15:30:30 +08:00
committed by GitHub
parent 1c81ad6da5
commit 631b7a2403
45 changed files with 678 additions and 646 deletions

View File

@ -5,6 +5,16 @@ WAMR_DIR=${PWD}/../..
OUT_DIR=${PWD}/out
BUILD_DIR=${PWD}/build
if [ -z $KW_BUILD ] || [ -z $KW_OUT_FILE ];then
echo "Local Build Env"
cmakewrap="cmake"
makewrap="make"
else
echo "Klocwork Build Env"
cmakewrap="cmake -DCMAKE_BUILD_TYPE=Debug"
makewrap="kwinject -o $KW_OUT_FILE make"
fi
if [ ! -d $BUILD_DIR ]; then
mkdir ${BUILD_DIR}
fi
@ -30,8 +40,8 @@ echo "##################### 1. build native-ui-app start#####################"
cd $BUILD_DIR
mkdir -p lvgl-native-ui-app
cd lvgl-native-ui-app
cmake ${PROJECT_DIR}/lvgl-native-ui-app
make
$cmakewrap ${PROJECT_DIR}/lvgl-native-ui-app
$makewrap
if [ $? != 0 ];then
echo "BUILD_FAIL native-ui-app $?\n"
exit 2
@ -45,8 +55,8 @@ echo "##################### 2. build littlevgl wasm runtime start###############
cd $BUILD_DIR
mkdir -p wasm-runtime-wgl
cd wasm-runtime-wgl
cmake ${PROJECT_DIR}/wasm-runtime-wgl/linux-build
make
$cmakewrap ${PROJECT_DIR}/wasm-runtime-wgl/linux-build
$makewrap
cp wasm_runtime_wgl ${OUT_DIR}/
echo "##################### build littlevgl wasm runtime end#####################"
@ -55,8 +65,8 @@ echo "#####################build host-tool"
cd $BUILD_DIR
mkdir -p host-tool
cd host-tool
cmake ${WAMR_DIR}/test-tools/host-tool
make
$cmakewrap ${WAMR_DIR}/test-tools/host-tool
$makewrap
if [ $? != 0 ];then
echo "BUILD_FAIL host tool exit as $?\n"
exit 2
@ -67,9 +77,9 @@ echo "#####################build host-tool success"
echo "##################### 3. build wasm ui app start#####################"
cd ${PROJECT_DIR}/wasm-apps/wgl
make
$makewrap
cp ui_app.wasm ${OUT_DIR}/
cd ${PROJECT_DIR}/wasm-apps/lvgl-compatible
make
$makewrap
cp ui_app_lvgl_compatible.wasm ${OUT_DIR}/
echo "##################### build wasm ui app end#####################"

View File

@ -58,7 +58,10 @@ void on_init()
/* set up a timer */
user_timer_t timer;
timer = api_timer_create(10, true, false, timer1_update);
api_timer_restart(timer, 10);
if (timer)
api_timer_restart(timer, 10);
else
printf("Fail to create timer.\n");
}
static void btn_event_cb(lv_obj_t *btn, lv_event_t event)

View File

@ -51,7 +51,10 @@ void on_init()
/* set up a timer */
user_timer_t timer;
timer = api_timer_create(10, true, false, timer1_update);
api_timer_restart(timer, 10);
if (timer)
api_timer_restart(timer, 10);
else
printf("Fail to create timer.\n");
}
static void btn_event_cb(wgl_obj_t btn, wgl_event_t event)

View File

@ -32,6 +32,7 @@
#include "attr_container.h"
#include "module_wasm_app.h"
#include "wasm_export.h"
#include "wgl.h"
#include "lv_drivers/display/monitor.h"
#include "lv_drivers/indev/mouse.h"
@ -47,11 +48,11 @@ static char *uart_device = "/dev/ttyS2";
static int baudrate = B115200;
#endif
extern void * thread_timer_check(void *);
extern void init_sensor_framework();
extern void exit_sensor_framework();
extern void exit_connection_framework();
extern int aee_host_msg_callback(void *msg, uint16_t msg_len);
extern bool init_connection_framework();
extern void wgl_init();
#ifndef CONNECTION_UART
int listenfd = -1;
@ -504,9 +505,15 @@ int iwasm_main(int argc, char *argv[])
vm_thread_create(&tid, func_uart_mode, NULL, BH_APPLET_PRESERVED_STACK_SIZE);
#endif
// TODO:
app_manager_startup(&interface);
fail1: bh_memory_destroy();
exit_wasm_timer();
exit_sensor_framework();
wgl_exit();
exit_connection_framework();
fail1:
bh_memory_destroy();
return -1;
}

View File

@ -2,8 +2,8 @@
* Copyright (C) 2019 Intel Corporation. All rights reserved.
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
*/
extern void iwasm_main(int argc, char *argv[]);
extern int iwasm_main(int argc, char *argv[]);
int main(int argc, char *argv[])
{
iwasm_main(argc,argv);
return iwasm_main(argc,argv);
}

View File

@ -15,7 +15,7 @@
#define LOG_WRN printf
#include <gpio.h>
#include <misc/byteorder.h>
#include <sys/byteorder.h>
#include <spi.h>
#include <string.h>

View File

@ -18,8 +18,8 @@
#include "display.h"
#include "lvgl.h"
extern void * thread_timer_check(void *);
extern void init_sensor_framework();
extern void exit_sensor_framework();
extern int aee_host_msg_callback(void *msg, uint16_t msg_len);
extern bool touchscreen_read(lv_indev_data_t * data);
extern int ili9340_init();