boot.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef __BOOT_H__
  2. #define __BOOT_H__
  3. struct vm_info {
  4. #if (USE_SDFILE_NEW == 1)
  5. u8 align; //from uboot, 按 n * 256 对齐
  6. #endif
  7. u32 vm_saddr; //from sdfile, flash addr
  8. u32 vm_res; //reverse_bytes
  9. u32 vm_size; //from sdfile
  10. };
  11. struct sfc_info {
  12. u32 sfc_base_addr; //flash memory addr, from uboot
  13. u32 app_addr; //cpu logic addr, from uboot
  14. };
  15. #if (USE_SDFILE_NEW == 1)
  16. struct bt_mac_addr {
  17. u8 value[6];
  18. u16 value_crc;
  19. };
  20. typedef struct _boot_info {
  21. struct vm_info vm;
  22. struct sfc_info sfc;
  23. u32 flash_size; //from uboot
  24. u16 chip_id; //from uboot
  25. u16 trim_value; //from uboot
  26. struct bt_mac_addr mac;
  27. } BOOT_INFO;
  28. //=====================================
  29. struct flash_head {
  30. u16 crc;
  31. u16 size4burner;
  32. u8 vid[4]; //u32 vm_eaddr;
  33. u32 FlashSize;
  34. u8 FsVersion; //flash文件结构
  35. u8 align; //对齐 n * 256
  36. u8 res;
  37. u8 SpecialOptFlag;
  38. u8 pid[16];
  39. };
  40. typedef struct boot_device_info {
  41. struct flash_head *fs_info;
  42. struct sfc_info sfc;
  43. u16 chip_id; //from uboot
  44. u16 trim_value; //from uboot
  45. u8 bt_mac_addr[8];
  46. } BOOT_DEVICE_INFO;
  47. #else
  48. typedef struct _boot_info {
  49. struct vm_info vm;
  50. struct sfc_info sfc;
  51. u32 flash_size; //from uboot
  52. u32 size4burner; //from uboot
  53. u16 chip_id; //from uboot
  54. u16 trim_value; //from uboot
  55. } BOOT_INFO;
  56. #endif /* #if (USE_SDFILE_NEW == 1) */
  57. extern BOOT_INFO boot_info;
  58. #endif