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
      • TO_USEC()매크로를 수정
    • 인터럽트 제어 레지트터 인터럽트 우선도 변경 루틴을 수정
    • 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
      • enadsp을 사용하지 않는 문제에 대응
    • sample1.h
      • 예외를 trap에 할당
  • 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)
  • 컨피그레이터를 큰폭으로 개선
    • 정적 API의 파라메터 체크 기능을 추가
  • 시스템 로그 기능을 전면적으로 개선
    • 시스템 로그에 정보 출력 방법을 변경
  • 태스크 예외처리 루틴 기동 처리를 정리
    • 이것에 따라 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 와의 주요 차이점
  • 버그 수정
    • 데이터 큐
    • SH3 프로세서 의존부
  • 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을 삭제
  • 문서 수정