Comments (9)
Hi,
It seems that you have broken the stack:
- Is the stack size sufficient?:
STACKSIZE
parameter of the task. - maybe you should track the stack usage through the svc handler.
You can init the stack zone during task init, with the PAINT_STACK
parameter (in CPU->OS
):
CPU blink {
OS config {
PAINT_STACK = TRUE;
(see tpl_init_context
in tpl_machine_cortex.c
).
Regards
Mik
from trampoline.
yes, it's in my implementation and still have this error
problem starts from here in tpl_os_os_kernel.c line 123:
`
IF_NO_EXTENDED_ERROR(result)
{
#if NUMBER_OF_CORES > 1
/*
* Sync barrier at start of tpl_start_os_service.
*/
tpl_sync_barrier(&tpl_start_count_0, &tpl_startos_sync_lock);
application_mode[core_id] = mode;
#else
application_mode = mode;
#endif
tpl_init_os(mode);
tpl_enable_counters();
/*
* Call the startup hook. According to the spec, it should be called
* after the os is initialized and before the scheduler is running
*/
CALL_STARTUP_HOOK()
/*
* Call the OS Application startup hooks if needed
*/
CALL_OSAPPLICATION_STARTUP_HOOKS()
#if NUMBER_OF_CORES > 1
/*
* Sync barrier just before starting the scheduling.
*/
tpl_sync_barrier(&tpl_start_count_1, &tpl_startos_sync_lock);
#endif
/*
* Call tpl_start_scheduling to elect the highest priority task
* if such a task exists.
*/
tpl_start_scheduling(CORE_ID_OR_NOTHING(core_id));
SWITCH_CONTEXT_NOSAVE(core_id)
}
PROCESS_ERROR(result)
/* unlock the kernel */
UNLOCK_KERNEL()
}
as
result = 0x07
from trampoline.
It doesn't seem like a question :/
from trampoline.
I don't know how to resolve such a bug
from trampoline.
Hello.
If you get result == 7
(7
means E_OS_STATE
) in tpl_start_os_service
, it means you are calling StartOS
a second time from a task. If you do not do that then it means initialized global/static variables are not initialized correctly.
E_OS_STATE
is returned if the current state of the OS is not OS_INIT
. Trace execution within tpl_current_os_state
to see what state is returned.
from trampoline.
Ok, I've passed this error and now I encounter a situation in tpl_os_timeobj_kernel with time object
As it's not a valid location it goes hardfault
Function parameter time_obj is passed from
and this object has this values
from trampoline.
Hi,
Have you updated the link script for your specific target? It seems that there is a problem with memory locations.
regards,
from trampoline.
Yes goil template files are updated with
Flash, RAM and stack size
from trampoline.
It seems that time_obj does not refer to a correct memory location. Valid RAM is most of the time 0x20xxxxxx, but pointers are in 0x0100xxxx… Maybe you have to track the time objs? and that the double linked list is correct.
regards
from trampoline.
Related Issues (20)
- examples HOT 5
- Trampoline with IDE (KeilC/IAR) HOT 5
- Readbutton_isr example, (osConst) conflict with (osVar) HOT 2
- [Question] Does the context switch routine have consider "Pendsv" handler? HOT 4
- Le cas de communication samd21 et raspberry ne fonctionne pas HOT 18
- sprintf
- [RFC] CAN and CAN FD stack HOT 5
- [examples] [posix] [ioc] incorrect format specifier
- [os] [tpl_os_timeobj_kernel] Uninitialized variable
- Unbounded write by strcpy HOT 2
- [templates] Invalid linker script generation when using AUTOSAR Application
- ARM Cortex directories naming HOT 10
- How can i generate c file from oil config file ? HOT 3
- Multiple POSIX targets HOT 6
- Example build issue : Teensy 3.1 isr1onFTM HOT 4
- Example build issue : Teensy 3.1 isr2onExternalInterrupt HOT 1
- Example build issue : Teensy 3.1 isr2onPIT HOT 1
- Multicore support on Posix HOT 2
- Porting to SMT32G0 HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from trampoline.