size_schema.json 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "$id": "https://github.com/espressif/esp-idf/blob/master/tools/size-schema.json",
  4. "type": "object",
  5. "oneOf": [
  6. {
  7. "patternProperties": {
  8. "^dram_(data|bss)$": {
  9. "type": "integer"
  10. },
  11. "^used_(dram|iram)$": {
  12. "type": "integer"
  13. },
  14. "^used_(dram|iram)_ratio$": {
  15. "type": "number"
  16. },
  17. "^available_(dram|iram)$": {
  18. "type": "integer"
  19. },
  20. "^flash_(code|rodata)$": {
  21. "type": "integer"
  22. },
  23. "^total_size$": {
  24. "type": "integer"
  25. }
  26. },
  27. "additionalProperties": false,
  28. "required": [
  29. "dram_data",
  30. "dram_bss",
  31. "used_dram",
  32. "available_dram",
  33. "used_dram_ratio",
  34. "used_iram",
  35. "available_iram",
  36. "used_iram_ratio",
  37. "flash_code",
  38. "flash_rodata",
  39. "total_size"
  40. ]
  41. },
  42. {
  43. "patternProperties": {
  44. "(\\.a$|\\.o$|\\.obj$|exe)": {
  45. "$ref": "#/$defs/memory_components"
  46. }
  47. },
  48. "additionalProperties": false
  49. },
  50. {
  51. "patternProperties": {
  52. "(^\\.dram0\\.(bss|data)$)": {
  53. "$ref": "#/$defs/archive_details"
  54. },
  55. "(^\\.flash\\.(rodata|text)$)": {
  56. "$ref": "#/$defs/archive_details"
  57. },
  58. "(^\\.iram0\\.(text|vectors)$)": {
  59. "$ref": "#/$defs/archive_details"
  60. }
  61. },
  62. "additionalProperties": false,
  63. "required": [
  64. ".dram0.bss",
  65. ".dram0.data",
  66. ".flash.rodata",
  67. ".flash.text",
  68. ".iram0.text",
  69. ".iram0.vectors"
  70. ]
  71. },
  72. {
  73. "patternProperties": {
  74. "(^diff$|^reference$|^current$)": {
  75. "$ref": "#"
  76. }
  77. },
  78. "additionalProperties": false
  79. }
  80. ],
  81. "$defs": {
  82. "memory_components": {
  83. "type": "object",
  84. "properties": {
  85. "bss": {
  86. "type": "integer"
  87. },
  88. "data": {
  89. "type": "integer"
  90. },
  91. "flash_rodata": {
  92. "type": "integer"
  93. },
  94. "flash_text": {
  95. "type": "integer"
  96. },
  97. "iram": {
  98. "type": "integer"
  99. },
  100. "total": {
  101. "type": "integer"
  102. }
  103. },
  104. "additionalProperties": false,
  105. "required": [
  106. "bss",
  107. "data",
  108. "flash_rodata",
  109. "flash_text",
  110. "iram",
  111. "total"
  112. ]
  113. },
  114. "archive_details": {
  115. "type": "object",
  116. "additionalProperties": {
  117. "type": "integer"
  118. }
  119. }
  120. }
  121. }