Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Docker-in-Docker (DinD) capabilities of public runners deactivated.
More info
Open sidebar
Alexandre Malecot
freertos-cu-gps
Commits
0757998e
Commit
0757998e
authored
Jun 11, 2018
by
Colin González
Browse files
Removed useless file of other ports
parent
a6476041
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
112 deletions
+0
-112
src/freertos/portable/GCC/ARM9_AT91SAM9G20/ISR_Support.h
src/freertos/portable/GCC/ARM9_AT91SAM9G20/ISR_Support.h
+0
-78
src/freertos/portable/GCC/ARM9_AT91SAM9G20/portasm.s79
src/freertos/portable/GCC/ARM9_AT91SAM9G20/portasm.s79
+0
-34
No files found.
src/freertos/portable/GCC/ARM9_AT91SAM9G20/ISR_Support.h
deleted
100644 → 0
View file @
a6476041
EXTERN
pxCurrentTCB
EXTERN
ulCriticalNesting
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
Context
save
and
restore
macro
definitions
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
portSAVE_CONTEXT
MACRO
;
Push
R0
as
we
are
going
to
use
the
register
.
STMDB
SP
!
,
{
R0
}
;
Set
R0
to
point
to
the
task
stack
pointer
.
STMDB
SP
,
{
SP
}
^
NOP
SUB
SP
,
SP
,
#
4
LDMIA
SP
!
,
{
R0
}
;
Push
the
return
address
onto
the
stack
.
STMDB
R0
!
,
{
LR
}
;
Now
we
have
saved
LR
we
can
use
it
instead
of
R0
.
MOV
LR
,
R0
;
Pop
R0
so
we
can
save
it
onto
the
system
mode
stack
.
LDMIA
SP
!
,
{
R0
}
;
Push
all
the
system
mode
registers
onto
the
task
stack
.
STMDB
LR
,
{
R0
-
LR
}
^
NOP
SUB
LR
,
LR
,
#
60
;
Push
the
SPSR
onto
the
task
stack
.
MRS
R0
,
SPSR
STMDB
LR
!
,
{
R0
}
LDR
R0
,
=
ulCriticalNesting
LDR
R0
,
[
R0
]
STMDB
LR
!
,
{
R0
}
;
Store
the
new
top
of
stack
for
the
task
.
LDR
R1
,
=
pxCurrentTCB
LDR
R0
,
[
R1
]
STR
LR
,
[
R0
]
ENDM
portRESTORE_CONTEXT
MACRO
;
Set
the
LR
to
the
task
stack
.
LDR
R1
,
=
pxCurrentTCB
LDR
R0
,
[
R1
]
LDR
LR
,
[
R0
]
;
The
critical
nesting
depth
is
the
first
item
on
the
stack
.
;
Load
it
into
the
ulCriticalNesting
variable
.
LDR
R0
,
=
ulCriticalNesting
LDMFD
LR
!
,
{
R1
}
STR
R1
,
[
R0
]
;
Get
the
SPSR
from
the
stack
.
LDMFD
LR
!
,
{
R0
}
MSR
SPSR_cxsf
,
R0
;
Restore
all
system
mode
registers
for
the
task
.
LDMFD
LR
,
{
R0
-
R14
}
^
NOP
;
Restore
the
return
address
.
LDR
LR
,
[
LR
,
#
+
60
]
;
And
return
-
correcting
the
offset
in
the
LR
to
obtain
the
;
correct
address
.
SUBS
PC
,
LR
,
#
4
ENDM
src/freertos/portable/GCC/ARM9_AT91SAM9G20/portasm.s79
deleted
100644 → 0
View file @
a6476041
RSEG ICODE:CODE
CODE32
EXTERN vTaskSwitchContext
PUBLIC vPortYieldProcessor
PUBLIC vPortStartFirstTask
#include "ISR_Support.h"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Starting the first task is just a matter of restoring the context that
; was created by pxPortInitialiseStack().
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
vPortStartFirstTask:
portRESTORE_CONTEXT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Manual context switch function. This is the SWI hander.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
vPortYieldProcessor:
ADD LR, LR, #4 ; Add 4 to the LR to make the LR appear exactly
; as if the context was saved during and IRQ
; handler.
portSAVE_CONTEXT ; Save the context of the current task...
LDR R0, =vTaskSwitchContext ; before selecting the next task to execute.
mov lr, pc
BX R0
portRESTORE_CONTEXT ; Restore the context of the selected task.
END
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment