mmu.h
上传用户:mhstny
上传日期:2022-08-05
资源大小:793k
文件大小:1k
源码类别:

微处理器开发

开发平台:

Unix_Linux

  1. /************************************************ 
  2.   NAME    : MMU.H
  3.   DESC    :
  4.   Revision: 02.28.2002 ver 0.0
  5.  ************************************************/
  6. #include "2410slib.h"
  7. #ifndef __MMU_H__
  8. #define __MMU_H__
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #define DESC_SEC (0x2|(1<<4))
  13. #define CB (3<<2)  //cache_on, write_back
  14. #define CNB (2<<2)  //cache_on, write_through 
  15. #define NCB             (1<<2)  //cache_off,WR_BUF on
  16. #define NCNB (0<<2)  //cache_off,WR_BUF off
  17. #define AP_RW (3<<10) //supervisor=RW, user=RW
  18. #define AP_RO (2<<10) //supervisor=RW, user=RO
  19. #define DOMAIN_FAULT (0x0)
  20. #define DOMAIN_CHK (0x1) 
  21. #define DOMAIN_NOTCHK (0x3) 
  22. #define DOMAIN0 (0x0<<5)
  23. #define DOMAIN1 (0x1<<5)
  24. #define DOMAIN0_ATTR (DOMAIN_CHK<<0) 
  25. #define DOMAIN1_ATTR (DOMAIN_FAULT<<2) 
  26. #define RW_CB (AP_RW|DOMAIN0|CB|DESC_SEC)
  27. #define RW_CNB (AP_RW|DOMAIN0|CNB|DESC_SEC)
  28. #define RW_NCNB (AP_RW|DOMAIN0|NCNB|DESC_SEC)
  29. #define RW_FAULT (AP_RW|DOMAIN1|NCNB|DESC_SEC)
  30. void MMU_Init(void);
  31. void MMU_SetMTT(int vaddrStart,int vaddrEnd,int paddrStart,int attr);
  32. void ChangeRomCacheStatus(int attr);
  33. #ifdef __cplusplus
  34. }
  35. #endif
  36. #endif /*__MMU_H__*/