First, declare that the following is a revolution.
Error [cp001]: copy protection check, no valid license found for this prod T [20]
Cause: at the time of installation, the lowercase letters of the 0x... string of the registration machine were not changed to uppercase letters.
Warning [pe001]: last line of file ends without a newline F: \ emotion \ IAR \ PK
Upgrading \ CC1110-8 \ main. c
Cause: when using IAR, a warning similar to this is often displayed. In fact, you only need to add a carriage return in the last line, and this warning will not be given again.
Error [e72]: Segment bank_relays must be defined in a segment definition option (-Z,-B or-P)
Cause: This is a 730b compilation error. It may be because the version is too high for the target project, and the 720 h version is used later. No error occurs.
Error [pe005]: cocould not open source file "stdio. H"
Cause: the header file path is incorrect. The correct method is to add $ toolkit_dir $ \ Inc \ cLib \ To incl in the C/C ++ compiler-> Preprocessor option on the settings tab?
In paths.
Error [pe005]:
Cocould not open source file "Hal. H" C: \ Users \ User \ Desktop \ example program \ wireless communication test \ library \ cc2430 \ Hal \ source \ settimer34period. c
Cause: Check c: \ Users \ User \ Desktop \ example program \ wireless communication test \ library \ cc2430 \ Hal \ source \ whether settimer34period exists. if there is a C file, it is because IAR does not support the Chinese path well. If you copy this project to the English path for compilation, no error will occur.
Error [e16]: Segment code_c (size: 0x1869 align: 0) is too long for segment definition. At least 0x1259 more bytes needed.
Cause: the code is insufficient. In the xcl file, modify its size, 0x28ff + 0x1259 = 0x3b58, and set it to-d_code_end = 0x3b58.
Error [e16]: Segment xdata_z (size: 0x1ea7 align: 0) is too long for segment definition. At least 0x2a7 more bytes
Cause: Modify the segment size in the xcl file,-d_ixdata_end = 0xfd53
// Revison D (this setting is safe for all revisions). There may be too many defined large arrays. Sometimes, the arrays defined in some functions are a little large, no error is reported when this function is tested independently in the main function.
Error [e16]: Segment cstack (size: 0x50 align: 0x1) is too long for segment definition. At least 0x50 more bytes needed. The problem
Occurred while processing the segment placement command "-z (data) cstack + _ stack_size #",
Cause: this error is caused by the number of Ram occupied by the defined global variables and the Array Buffer exceeds the hardware support. Size: 0x50 indicates the size exceeding the hardware support. You only need to reduce unnecessary global variables and minimize the Array Buffer!
Error [e46]: Undefined external "onboard_sendphoto ::? Relay "referred in hal_key (C: \ Texas Instruments \ ZStack-1.4.3-1.2.1 \ projects \ zstack \ samples \ simpleapp \ cc2430db \ simplecontrollereb \ OBJ \ hal_key.r51
)
Cause: only the onboard_sendphoto () definition of the function is not found, and only the Declaration and use are allowed. This error usually occurs during the link.
Error [e89]: Too m h object code prod ed (more than 0x1000 bytes) for this package
Cause: Use the 4 K version.
For IAR common errors, start with the following:
1,
Whether the serial number is correct.
2,
If the version is correct, the project file opened in 7.30b cannot be opened in 7.20h.
3,
Try not to use the Chinese path.
4,
The ZigBee protocol stack folder must be placed in the IAR installation disc root directory.
5,
Check whether the current compiled folder has read and write permissions.
6,
Whether the version used is limited to version.
Below is my own supplement (continuously updated)
1. error [e16]: Segment code (size: 0 xffe align: 0x1) is too long for segment definition. at least 0x4a more bytes needed. the problem occurred while processing the segment placement command "-z (CODE) code = _.. x_FLASH_BASE-_..X_FLASH_END ",
Where at the moment of placement the available memory ranges were "code: 4b-fff"
Reserved ranges relevant to this placement:
Code: 34-44 near_f
Code: 45-4a inittab
Code: 4b-fff code
My change is project options ----> C/C ++ compiler -----> optimizations (optimization) -----> size -----> high (maximum optimization)
That is, optimize the code to the maximum extent to save space.
2. configuration is up-to-data.
When creating a project, add a program file. Note that a valid. C or assembly file must be added.
Hey, when I create a new project, I often forget to add a suffix to the saved. c files. When I add the files to the project, the system cannot identify them. This low-level error is written by myself.
3. Warning [pe069]: The program of Integer Conversion resulted in truncation is as follows:
# Define seg_a ~ 0x04
# Define seg_ B ~ 0x01
# Define seg_c ~ 0x40
# Define seg_d ~ 0x10
# Define seg_e ~ 0x08
# Define seg_f ~ 0x02
# Define seg_g ~ 0x80
# Define seg_h ~ 0x20
Seg_a & seg_ B & seg_g & seg_d & seg_e, // 2
Cause: After the values from seg_a to seg_h are obtained ,~ 0x04 is changed to 0xfb. The problem is solved because the calculation in the array is too complex.