git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15341 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
3bceb7fd9d
commit
abf9ce61a6
|
@ -6,7 +6,7 @@
|
|||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="set remotetimeout 20 monitor reset init monitor sleep 50 monitor erase_address pad 0x08180000 0x00080000 load /home/giovanni/Projects/ChibiStudio/chibios_trunk/demos/various/SB-CLIENT-256k-08180000-128k-20060000/build/sb.elf load /home/giovanni/Projects/ChibiStudio/chibios_trunk/demos/various/SB-CLIENT-256k-081C0000-128k-20080000/build/sb.elf "/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="set remotetimeout 20 monitor reset init monitor sleep 50"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDeviceId" value="org.eclipse.cdt.debug.gdbjtag.core.jtagdevice.OpenOCDSocket"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
|
|
|
@ -97,8 +97,6 @@ sb_class_t sbx1;
|
|||
|
||||
static THD_WORKING_AREA(waUnprivileged1, 1024);
|
||||
|
||||
static thread_t *sb1tp;
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Main and generic code. */
|
||||
/*===========================================================================*/
|
||||
|
@ -125,8 +123,10 @@ static void SBHandler(eventid_t id) {
|
|||
|
||||
(void)id;
|
||||
|
||||
if (chThdTerminatedX(sb1tp)) {
|
||||
chprintf((BaseSequentialStream *)&SD2, "SB1 terminated\r\n");
|
||||
if (!sbIsThreadRunningX(&sbx1)) {
|
||||
msg_t msg = sbWaitThread(&sbx1);
|
||||
|
||||
chprintf((BaseSequentialStream *)&SD2, "SB1 terminated (%d)\r\n", msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -253,6 +253,7 @@ int main(void) {
|
|||
vfsClose(np);
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* Starting sandboxed thread 1.*/
|
||||
sb1tp = sbStartThread(&sbx1, "sbx1",
|
||||
waUnprivileged1, sizeof (waUnprivileged1),
|
||||
|
@ -261,7 +262,6 @@ int main(void) {
|
|||
chSysHalt("sbx1 failed");
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Starting sandboxed thread 2.*/
|
||||
sb2tp = sbStartThread(&sbx2, "sbx2",
|
||||
waUnprivileged2, sizeof (waUnprivileged2),
|
||||
|
@ -286,12 +286,21 @@ int main(void) {
|
|||
/* Checking for user button, launching sandbox if pressed.*/
|
||||
if (palReadLine(LINE_BUTTON)) {
|
||||
if (!sbIsThreadRunningX(&sbx1)) {
|
||||
|
||||
/* Loading sandbox code.*/
|
||||
ret = sbElfLoadFile((vfs_driver_c *)&sb1_root_overlay_driver,
|
||||
"/bin/app.elf",
|
||||
&sbx1.config->regions[0].area);
|
||||
if (CH_RET_IS_ERROR(ret)) {
|
||||
chSysHalt("ELF");
|
||||
}
|
||||
|
||||
/* Starting sandboxed thread 1.*/
|
||||
if (sbStartThread(&sbx1, "sbx1",
|
||||
waUnprivileged1, sizeof (waUnprivileged1),
|
||||
NORMALPRIO - 1) == NULL) {
|
||||
chSysHalt("sbx1 failed");
|
||||
}
|
||||
}
|
||||
#if 0
|
||||
static uint8_t loadbuf[1024];
|
||||
|
|
Loading…
Reference in New Issue