Giter VIP home page Giter VIP logo

Comments (9)

mbriday avatar mbriday commented on May 24, 2024

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.

HassanMH01 avatar HassanMH01 commented on May 24, 2024

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.

mbriday avatar mbriday commented on May 24, 2024

It doesn't seem like a question :/

from trampoline.

HassanMH01 avatar HassanMH01 commented on May 24, 2024

I don't know how to resolve such a bug

from trampoline.

jlbirccyn avatar jlbirccyn commented on May 24, 2024

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.

HassanMH01 avatar HassanMH01 commented on May 24, 2024

Ok, I've passed this error and now I encounter a situation in tpl_os_timeobj_kernel with time object

ccstudio_gSXT5xM3VN
ccstudio_t9OwbpRMLS
ccstudio_9JmoURsIz8

As it's not a valid location it goes hardfault

Function parameter time_obj is passed from
ccstudio_eQCL225j4d
and this object has this values
ccstudio_agixMYQAWh

from trampoline.

mbriday avatar mbriday commented on May 24, 2024

Hi,
Have you updated the link script for your specific target? It seems that there is a problem with memory locations.
regards,

from trampoline.

HassanMH01 avatar HassanMH01 commented on May 24, 2024

Yes goil template files are updated with
Flash, RAM and stack size

from trampoline.

mbriday avatar mbriday commented on May 24, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.