Hi,
Yes I checked. Your IVOR10 calls chSchIsPreemptionRequired(), and chSchDoReschedule()(when it is required)
Enclosed, you can see my IVOR10 & IVOR4 implementations.
For IVOR10, the value which is returned by chSchIsPreemptionRequired() is always false.
Louis
CW files
- Giovanni
- Site Admin
- Posts: 14455
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: CW files
It should return true when context switch is required which usually happens not so often.
BTW, writing that function in C does not ensure that all required registers are actually saved on stack.
Giovanni
BTW, writing that function in C does not ensure that all required registers are actually saved on stack.
Giovanni
Re: CW files
hello Giovanni,
I changed my strategy. I used now your IVORs (from ivor.s) and I modified my scheduler. I created my task.
But I have still problems with interruptions (IVOR don't work). My program is blocked inside "_idle_thread()" (well it is normal, if IVORs don't work ).
I would like to know if the boot.s must be included in the project? Actually, I didn't include this file.
I saw there was an IVORs initialization there.
Louis
I changed my strategy. I used now your IVORs (from ivor.s) and I modified my scheduler. I created my task.
But I have still problems with interruptions (IVOR don't work). My program is blocked inside "_idle_thread()" (well it is normal, if IVORs don't work ).
I would like to know if the boot.s must be included in the project? Actually, I didn't include this file.
I saw there was an IVORs initialization there.
Louis
- Giovanni
- Site Admin
- Posts: 14455
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: CW files
Boot.s is required for ECC initialization, MSR initialization, cache initialization and exceptions initialization and that includes IVPR and IVORs. Include it if your files don't implement that.
Giovanni
Giovanni
Re: CW files
Hi,
Thank you for the answer.
For the IVORs, you implemented its in ivors.s. Does ChibiOS already active/install them? Otherwhise, did you provide a macro where I have to activate them.
Thank Louis
Thank you for the answer.
For the IVORs, you implemented its in ivors.s. Does ChibiOS already active/install them? Otherwhise, did you provide a macro where I have to activate them.
Thank Louis
- Giovanni
- Site Admin
- Posts: 14455
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: CW files
IVORs and IRQ vectors are setup at link time using weak symbols, there is not need to set or activate them.
Just declare symbols with the right name and those will be linked to tables.
Giovanni
Just declare symbols with the right name and those will be linked to tables.
Giovanni
Re: CW files
Hi,
Then for the use of IVOR10, I have nothing to delcare/code more than you did in ivor.s & port_init(void) ?
(Sorry if I ask you easy question, but I try to find the origin of my problem)
Louis
Then for the use of IVOR10, I have nothing to delcare/code more than you did in ivor.s & port_init(void) ?
(Sorry if I ask you easy question, but I try to find the origin of my problem)
Louis
- Giovanni
- Site Admin
- Posts: 14455
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: CW files
Nothing more, the IVOR handler is linked automatically (if you are using our boot.s).
Giovanni
Giovanni
Re: CW files
Hi,
Thank you. I understand better
The timer for the system tick is already implemented/initialized ?
Louis
Thank you. I understand better
The timer for the system tick is already implemented/initialized ?
Louis
- Giovanni
- Site Admin
- Posts: 14455
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: CW files
HAL takes care of that if you use HAL, if not then you need to initialize it before calling chSysInit() in your main().
Giovanni
Giovanni
Who is online
Users browsing this forum: No registered users and 6 guests