- 회원용 페이지
- 프로젝트에 대해서
- 활동
- 개발 성과물
- 교육컨텐츠
- 문서
- 관련제품
- 이용사례
- 커뮤니티
- 그외 정보
TOPPERS/JSP 커널 갱신이력
- Release 1.4.4 의 Release 1.4.3 와의 주요 차이점
-
- 패키지가 NXT 대응판(nxt),표준판(std),참고 개발판(full)의 3종류로 되었습니다.
- TLCS900-TOSHIBA 의존부가 갱신되었습니다.
- m32c-renesas 의존부가 갱신되었습니다.
- m16c-renesas 의존부가 갱신되었습니다.
- xstormy16 의존부가 갱신되었습니다.
- h8, sh1, sh2 의존부가 각각 갱신되었습니다.
- LatticeMico32 의존부가 추가되었습니다.
- ColdFire 의존부가 추가되었습니다.
- cfg 작성 컴파일러의 추천이 MinGW로 변경되었습니다.
- 「빈 줄이 있는 def파일을 genrename에 주어, 출력에 부적절한 define/undef가 나옴」이 수정되었습니다.
- TNUM_PORT의 상한이 5로 변경되었습니다.
- 「cfg의 Makefile에서 매크로CC가 도중에 g++로 정의되어 있음」이 수정되었습니다.
- make변수로서 CONFIGDIR가 추가되었습니다. 무지정의 경우는 $(SRCDIR)/config가 사용되어 호환성은 유지됩니다.
- 「최신의 g++로 cfg가 빌드되지 않음」이 수정되었습니다.
- ARM gcc환경에서 _THUMBCODE_가 아닌 __thumb__ 를 사용하도록 변경되었습니다.
- Release 1.4.3 의 Release 1.4.2 와의 주요 차이점
-
- 타겟의 추가
- 도시바 TLCS900 패미리를 추가
- YDK테크놀로지 AZ9360MB 의존부(ARM의존부)를 추가
- 르네상스 m3029 의존부(M16C의존부)를 추가
- 앳마크 테크놀로지 Suzaku 의존부(Microblaze의존부) 추가
- 르네상스 M3A-ZA36(MAPPI-II) 의존부(M32R의존부) 추가
- Application Corp TK-850/SG2 의존부(V850의존부) 추가
- 공통부 수정・변경
- syslog기능
-
int가 16비트, 포인터가 32비트인 프로세서에서 syslog 기능에서
읽어버린 메세지의 수("xx messages are lost."의 xx)가 제대로 표시되지
않는 버그를 수정
- 샘플 프로그램
- if(MERCD(erce) >= 0) { 을 if(ercd >= 0) { 로 수정
- tool_config.h
- call_atexit()에서 gcc의 분기 최적화가 효가가 없도록 기술을 변경
- ARM의존부
- cpu_support.S
- TCB의 enatex를 ldrb에서 액세스하도록 수정
- M16C의존부
- hw_timer.h
- 인터럽트 제어 레지트터 인터럽트 우선도 변경 루틴을 수정
- cpu_support.a30의 수정
- V850의존부
- es레지스터가 저장되지 않는(덮어쓰기 되는) 오류를 해결
- hw_serial.c에서 항상 수신중을 리턴하는 문제를 수정
- hw_serial.h에 static변수가 정의되어 있는 문제를 수정
- M32C의존부
- m32c.txt
- 인터럽트 핸들러 번호(INHNO)의 정의가 기재되어 있지 않기 때문에 2.2절에 추가
- 위의 추가에 따라 CPU 예외 핸들러 번호의 정의에 대해서도 기재를 변경
- ./oaks32/hw_serial.cfg
- #if 0 → #if TNUM_PORT >= 2
- cpu_support.S
- sample1.h
- M32R의존부
- cpu_support.S
- 태스크 예외 기동 판정에 runtsk와 schedtsk의 비교를 추가
- enadsp를 사용하지 않는 문제에 대응
- m3a-2131의 SDRAM 초기화 처리의 버그를 수정
- m3a-2131g50의 디렉토리명을 m3a_2131로 변경
- M32R 공통 레지스터 정의를 m32r.h로서 프로세서 의존부에 위치
- H8의존부
- 여러 부분의 갱신(자세한 내용은 첨부 문서에서 확인)
- H8S의존부
- 여러 부분의 갱신(자세한 내용은 첨부 문서에서 확인)
- Microblaze의존부
- 디스패치 금지중에 인터럽트 핸들러 안에서 예외요구가 발생해도 예외 핸들러가
호출되지 않는 오류를 수정
- Windows의존부
- 디스패치 금지중에도 인터럽트의 출구에서 디스패치가 발생하는 오류를 수정
- Release 1.4.2 의 Release 1.4.1 와의 주요한 차이
-
- M32C(Renesase사의 개발환경)의 추가
- V850의 추가
- H8(Renesase사의 개발환경)의 추가
- H8S(Renesase사의 개발환경)의 추가
- MIPS3, POWERPC32, H8S(GNU개발환경)을 참고 개발하여
- xxx_unrename.h 의 define을 _JSP_UNRENAME_H로 수정
- Makefile중의 LANG 매크로가 Locale 관련의 환경변수와 부딪히기 때문에
PROGRAM_LANG로 명칭 변경
- sil.h에서 kernel.h를 인클루드하도록 변경
- genoffset에서 dword 디렉티브를 추가
- makedep : gcc-3.x에 대응
- syslog에서 long형을 출력하기 위한 %ld, %lx를 지원
- H8 서포트를 큰폭으로 수정
- Release 1.4.1 의 Release 1.4 와의 주요 차이점
-
- 세세한 버그 수정(주로 타겟 의존부)
- SH2, M16C, SC33, PowerPC32, Nios2의 서포트 추가
- H8S의 서포트를 부활
- SH1/CPUB(常盤商行)의 서포트 삭제
- μITRON탑재 SH1CPU보드(주오제작소)의 서포트를 추가
- Release 1.4 의 Release 1.3 와의 주요 차이점
-
- GNU개발환경에 의존하고 있는 부분을 분리하고,
Green Hills Software사의 소프트웨어 개발 환경의 서포트를 추가(SH3, ARMv4)
- Xstormy16 와 MIPS3(VR4131,VR5500)의 지원을 추가
- H8S, V850, i386의 서포트를 삭제(준비가 되는 대로 서포트 예정)
- C++ 바인딩을 서포트
- 트레이스 로그를 다루기 위한 기능 추가
- 시스템 인터페이스 레이어(SIL)를 서포트
- 디바이스 드라이버를 ITRON의 디바이스 드라이버 설계 가이드 라인을 준거
- 커널 라이브러리화, 서비스콜 단위로 링크하도록 수정
- 시스템 로그 기능을 큰폭으로 변경
- 시리얼 인터페이스 드라이버를 전면적으로 개정
- 컨피그레이터를 전면적으로 개정
- 라이센스 문언을 변경
- 파일명 정리(JSP커널 이외로의 전개를 고려)
- 그 외 버그 수정 및 다수의 세부 사항 개선
- Release 1.3 의 Release 1.2 와의 주요 차이점
-
- M32R, MicroBlaze, TMS320C54x, i386, H8S(H8S/2350)의 지원 추가
- H8에 H8/3067F의 지원 추가
- 컨피그레이터를 전면적으로 개정
- 내부 구조를 큰폭으로 변경
- 타겟 의존의 에러 체크가 가능한 구조로 변경
- int형이 16비터의 컴파일러에 대응
- 데이터형 변경
- tnum_inhno을 IHNNO에서 UINT로
- tnum_excno을 EXCNO에서 UINT로
- 그 외의 개선
- SH1:표준 라이브러리의 memcpy를 링크하는 경우와 링크하지 않는 경우 모두 대응
- H8 프로세서 의존부
- 버그 수정
- 대기 해제에서 에러가 된 경우의 부작용이 있는 문제 수정
- SH1:인터럽트 출구 처리에서 인터럽트 마스크의 설정 처리 추가
- SH1:초기화시 인터럽트/CPU 예외 네스트 카운터 치의 수정
- 문서 수정
- 사용 조건의 변경
- Release 1.2 의 Release 1.1(patchlevel=1) 와의 주요 차이점
-
- SH4, H8(H8/3048F), ARM7TDMI의 서포트를 추가
- V850의 완벽히 서포트(타겟 시스템은 RTE-V850E/MA1-CB)
- 컨피그레이터를 큰폭으로 개선
- 시스템 로그 기능을 전면적으로 개선
- 태스크 예외처리 루틴 기동 처리를 정리
- 이것에 따라 genoffset를 확장, 비트 위치의 꺼낼수 있게 함
- 타겟 마다 Makefile 등을 생성하는 스크립트 준비
- Makefile과 Makefile.config를 정리
- SH3/4에서 PARTNER-J에 대응
- 샘플 프로그램의 정리・개선
- 데이터형의 변경
- SYSTIM을 UINT에서 UW로 변경
- tnum_inhno를 ID에서 IHNNO로
- tnum_excno를 ID에서 EXCNO로
- 그 외의 개선
- 디스패치에서 인터럽트 발생후에 reqflg를 클리어
- rel_mpf에서 파라메터 에러의 체크를 크리티컬 섹션의 밖으로
- makedep의 출력 형식 보정
- 시리얼 드라이버 에러코드 수정
- 커널 내부 식별명의 리네임 부분 정리
- 버그 수정
- 타임 이벤트 힙의 관리 알고리즘
- tsnd_dtq와 trcv_dtq의 파라메터 에러 체크
- SH3 프로세서 의존부
- μITRON4.0사양(Ver. 4.01.00)에 대응
- 문서 수정
- 사용 조건 변경
- Release 1.1 (patchlevel=1) 의 Release 1.1 와의 주요 차이점
-
- 버그 수정
- SH1의 서포트를 추가(by 미야기현 산업기술 종합센터)
- SH3 타겟 시스템에 Solution Engine MS7709ASE01를 추가
- Makefile을 정리
- 인터럽트/CPU예외 핸들러 엔트리 루틴 전개 방법을 변경
- Cygwin 인트톨 방법에 관한 설명 추가(gnu_install.txt)
- 에러 코드 생성 매크로(ERCD) 추가
- 문서 수정
- Release 1.1 의 Release 1.0 (patchlevel=1) 와의 주요 차이점
-
- Windows상의 시뮬레이션 환경 확장・개선
- 디바이스 에뮬레이션 서포트 추가
- 디바이스 에뮬레이션 서포트 모듈 추가
- 디바이스 매니저
- 디바이스 클라이언트용 VisualBASIC 컨트롤
- 일부 개선과 버그 수정
- 메세지 변경(WM_USER → WM_APP)
- 프로젝트 파일 위치 변경
- V850 서포트 코드 추가
- cpu_defs.h과 sys_defs.h에 타겟 식별 매크로 정의를 포함
- 컨피그레이터 에러 메세지를 일본어/영어 선택 가능
- 컨피그레이터 버그 수정(고정 길이 메모리 풀 문제)
- SH3 프로세서 의존부의 버그 수정 등
- sh3용 sample1.c을 로드 에러로 CPU예외가 일어나도록 수정
- Linux상의 시뮬레이션 환경에서 태스크에서의 리턴으로 대응
- Makefile중의 CFLAGS에서 매크로 정의를 분리하고 CDEFS로 함. CDEFS는
CPP에도 건네므로, 컨피그레이션 파일 안에서 #ifdef를 사용가능.
이것을 사용하여 스텁의 유/무의 경우 파일을 일체화
- CPU락 상태에서 태스크 예외 처리 루틴에서 리턴한 경우의 가대처
(μITRON4.0사양 자체에 문제가 있어 사양의 재검토가 필요)
- GNU 개발 환경 구축 매뉴얼을 독립시킴
- 컴파일러의 경고 메세지를 피하도록 소스를 수정
- 문서, 주석 수정
- Release 1.0 (patchlevel=1) 의 Release 1.0 와의 주요 차이점
-
- 한자 코드를 EUC로 통일
- 각 Makefile안에서 makedep에 건네는 cpp를 $(CPP)로
- 각 sample1.c에서 "-"커맨드를 "=" 커맨드로 바꿈(선두의 커맨드에 맞춤)
- itron.h과 kernel.h에서 CONFIGURATOR 매크로에 대응하는 것을 삭제
- ext_tsk의 에러 처리를 수정
- Windows상에서 시뮬레이션 환경 버그 수정
- 태스크 예외가 동작하지 않는 것을 수정
- 시리얼 에뮬레이터가 스택을 깨뜨리는 것을 수정
- 컨피그레이터 에러 메시지를 영어로
- debugout.h에서 DEBUG_ENABLE의 #define을 삭제
- 문서 수정