회원용 페이지
프로젝트에 대해서
활동
개발 성과물
교육컨텐츠
문서
관련제품
이용사례
커뮤니티
그외 정보
TOPPERS/FMP커널 갱신이력
Release 1.2.0 과 Release 1.1.1 의 주요 차이점
릴리즈 방식을 ASP와 동일하게 변경
컴피규레이터 1.7.0 대응
ASP 1.7.0 대응
TTSP에 의한 검증완료
다수의 버그 수정(상세 내용은 version.txt를 참조)
Release 1.1.1 과 Release 1.1.0 의 주요 차이점
apsh2ad_gcc(sh2a_dual_gcc)의존부 추가
kzm_ca9_gcc의존부 추가
t_rtsk의 다음 기동시의 할당된 프로세서 ID를 격납하는 멤버명 수정
샘플 프로그램의 글로벌 타이머 방식 서포트
시스템 로그 출력의 마이그레이션 대응
시스템 로그 출력의 공유 대응
기타 타겟 의존부 갱신
Release 1.1.0 과 Release 1.0.2 의 주요 차이점
락 매크로 수정과 함수화
인터럽트 처리 모델의 통합사양서 준거
프로세서 간을 이동하는 API의 실행시간 개선
프로세서마다 가지는 타겟 의존 정보의 PCB로의 통합
SH4A 서포트
작은 버그 수정
Release 1.0.2 와 Release 1.0.1 의 주요 차이점
porting.txt 수정 및 추가 기술
CHECK_DISPATCH() 사용부분 변경
CHECK_TSKCTX_UNL() 또는 CHECK_INTCTX_UNL() 으로 변경
태스크 디스패치가능 상태(dspflg)의 체크를 CPU락상태에서 체크하도록 변경. 해당 API는 다음과 같음
dataqueue.c: snd_dtq()
dataqueue.c: tsnd_dtq()
dataqueue.c: rcv_dtq()
dataqueue.c: trcv_dtq()
eventflag.c: wai_flg()
eventflag.c: twai_flg()
mailbox.c: rcv_mbx()
mailbox.c: trcv_mbx()
mempfix.c: get_mpf()
mempfix.c: tget_mpf()
pridataq.c: snd_pdq()
pridataq.c: tsnd_pdq()
pridataq.c: rcv_pdq()
pridataq.c: trcv_pdq()
semaphore.c: wai_sem()
semaphore.c: twai_sem()
task_sync.c: slp_tsk()
task_sync.c: tslp_tsk()
task_sync.c: dly_tsk()
CHECK_DISPATCH() 삭제
CHECK_TSKCTX_UNL()/CHECK_INTCTX_UNL() 변경
sense_tskctx_unl()/sense_intctx_unl() 을 호출하도록 변경
sense_tskctx_unl()/sense_intctx_unl() 추가
sense_context()/[tix]_sense_lock() 마이그레이션 대응
CPU락 해지 상태에서 호출되기 때문에, 실행중에 마이그레이션되어도 문제없도록 수정.
구체적으로는, CPU ID를 취득해서 CPU고유의 데이터를 엑세스하는 부분을 CPU락 상태에서
실행하도록 변경.
CHECK_NONSELF()의 삭제와 사용부분 수정
인터럽트 금지전에 체크하면, 마이그레이션된 경우에, 다른 포르세서의 값을 읽을 가능성이 있기 떄문에,
인터럽트 락 후에 체크하도록 변경. 행당하는 API는 다음과 같음.
task_manage.c : ter_tsk() : 자이언트 락 용
task_manage.c : ter_tsk() : 프로세서 락·세립도 락 용
CHECK_LOCSPN() 삭제
사용하지 않고 있기 때문에 삭제.
Release 1.0.1 과 Release 1.0.0 의 주요 차이점
공통부
디스패치 금지 상태의 프로세서의 태스트로부터 디스패치 허가 상태의 프로세서로
mrot_rdq해도 로테이션 되지 않던 문제 수정
call_texrtn()에서 다른 태스크로 디스패치할 경우의 문제를 수정.
태스크락을 취득한 상태로, 디스패치하고 있기 때문에, 해지하고 호출하도록 변경.
개행코드를 LF로 통일.
「CPU예외번호」가 없을 경우는 「예외번호」를 「CPU예외 핸들러번호」로 통일.
imact_tsk에서 프로세서ID의 체크가 빠져있던 문제를 수정.
프로세서 락 상태의 T_ACQUIRE_NESTED_LOCK_AND_CHECK_RUNNABLE 수정
msta_cyc에서 TA_PHS을 지정하지 않은 주기핸들러의 기동시각을 기동위상으로 수정
mact_tsk에 의한 기동요구가 큐잉된 태스크를 ter_tsk해도 마이그레이션되지 않는 문제 수정
밸리어 동기관련 코드의 루프변수에 volatile을 첨가
ext_tsk에서 마이그레이션하는 경우에 마이그레이션 큐잉이 클리어되지 않는 문제 수정
ref_spn이 CPU락 상태에서 정상종료하는 문제 수정
get_pid/iget_pid가 CPU락 상태에서 정상종료하는 문제를 수정
msta_alm()/imsta_alm()/msta_cyc()을 TPRC_INI지정시에 실행하면 E_ID가 반환되는 문제 수정
imsta_alm()을 TPRC_INI지정시에 실행해도 대상 알람핸들러가 기동되지 않는 문제 수정
스핀락을 취득한 상태에서, loc_cpu()/iloc_cpu()/unl_cpu()
/iunl_cpu()을 실행하면 E_CTX 에러가 되는 문제 수정
try_spn/itry_spn에서 이미 락을 획득하고 있는 경우의 에러코드가 E_TMOUT가 되는 문제 수정
ref_spn에서 다른 코어로부터 스핀락의 상태를 참조할 수 없던 문제 수정
매크로명 변경(TPRC_INIT -> TPRC_INI)
unl_spn/iunl_spn의 에러코드 수정
ena_int/dis_int의 체크 관련 수정
sus_tsk 락 매크로 변경
T_ACQUIRE_NESTED_DUAL_LOCK_AND_CHECK_MIG() 수정
wait_tmout이 사용하는 락 매크로 수정
ext_tsk에서 사용하는 락 매크로 수정
sus_tsk에서 사용하는 락 매크로 수정
stp_cyc/ref_cyc에서 사용하는 락 매크로 수정
mrot_rdq에서 사용하는 락 매크로 수정
fsnd_dtq에서 사용하는 락 매크로 수정
can_wup에서 사용하는 락 매크로 수정
다른 프로세서에 소속된 실행상태의 태스크에 대해 ref_tsk를 발행한 경우의 문제 수정
미사양의 관리블럭이 생성되던 문제 수정
ARM 의존부
「CPU예외번호」가 없을 경우는 「예외번호」를 「CPU예외 핸들러번호」로 통일.
예외프레임에 넣을 예외 전의 인터럽트 우선도 마스크의 값을 타겟 의존의 값으로부터 외부표현으로 변경.
MPCore 의존부
CPUEXC3 와 CPUEXC4를 수정.
샘플프로그램용 정의(CPUEXC1...)을 타겟 의존부로 이동.
INTHDR_ENTRY()에서 extern선언을 출력하지 않도록 변경.
AT91SKYEY 의존부
newlib 서포트. 서포트에 의해, SkyEye는 TOPPERS프로젝트에서 공개하고 있는
SkyEye -V1.2 DeviceManager Extension 2.0.3 이후 버전이 필요하게 된다.
gcov 서포트.
lcov 서포트.
target_timer_initialize()에서 타이머 동기에 TIMER_CLOCK 값을 반영하도록 수정.
성능평가용 매크로를 사이클카운터 값을 취득하도록 정의.
CT11MPCore 의존부
샘플프로그램용 정의(CPUEXC1...)을 타겟 의존부로 이동.
Nios II 의존부
「CPU예외번호」가 없을 경우는 「예외번호」를 「CPU예외 핸들러번호」로 통일.
테스트 프로그램 관련
test/test_mact_tsk{1,2,3} 및 test/test_mig_tsk{1,2}이 동작하지 않는 문제를 수정.
테스트 라이브러리에 배리어 동기함수를 추가
체크포인트 표시시에 프로세서ID도 동시에 표시
체크포인트 함수에서 인터럽트 락후에 프로세서 ID를 취득하고 있던 문제를 수정
체크포인트 함수와 완료체크포인트에서의 PRCID 취득을 sil함수로 변경
test_spin_lock.c 수정.
test_mact_tsk2.c 수정.
CPU예외 테스트(싱글 프로세서)를 추가.
태스크 예외 테스트(싱글 프로세서)를 추가.
세마포어 테스트(싱글 프로세서)를 추가.
시스템 상태에 관한 테스트(싱글 프로세서)를 추가.
성능 평가 프로그램 관련