lexide-u16 window position information is stored in the workspace ".metadata\.plugins" folder. if you use the windows standard zip function ([right-click] > [send to] > [compressed (zipped) folder]) in explorer to compress a zip file, some parts of the linux format folder starting with a dot are not compressed. in this case, extracting the zip file and opening it with lexide-u16 will reset the window position information. if you want to compress the workspace, please use a compression application that supports linux format folders such as 7-zip or lhaplus.
the method to redisplay the "select a directory as workspace" dialog is as follows. 1. select [window] > [preferences] from the lexide-u16 main menu. 2. select [general] > [startup and shutdown] > [workspaces] from the left panel of the [preferences] dialog. 3. enable the [prompt for workspace on startup] checkbox.
as the memory model goes from small to large, the size of pointers to functions changes from 2 bytes to 3 bytes. please note that when using an array of pointers to functions. the sizeof operation result for a single pointer to a function in the large model is 3, but in the case of an array of pointers to functions, a 1-byte padding is inserted after each element. so with 5 elements, the size of the array is ((pointer size 3 bytes) (padding 1 byte)) * (number of elements 5) = 20 bytes. for details, see "18.104.22.168 arrays other than char type" in "ccu8 programming guide".
also, when calculating the number of elements in an array, it is generally calculated by dividing the size of the entire array by the size of the elements in the array. therefore, the following macro may be defined as a macro for calculating the number of array elements. #define arr_num(array) (sizeof(array)/sizeof(array)) if the pointer size is 3 bytes, the total array size includes 1 byte padding for each element, so the number of elements is calculated incorrectly. in this case, you need to change it as follows. #define arr_num(array) (sizeof(array)/(sizeof(array) == 3 ? 4 : sizeof(array)))
the cause may be that the data flash erase processing in the program was executed. the program starts running when the microcontroller is powered on. after that, when the debugger is started with lexide-u16, the debugger stops the program. if the program executed before starting the debugger includes data flash erase processing, the data flash area will be erased. as a result, it appears that the data flash area is initialized when the debugger is started.
this is because the information of the copy source remains in the project. please follow the steps below to delete the copy source information and set it again.
right click on the project > [properties] > [c/c build] > [refresh policy] (1) delete the copy source project displayed in "a" with the [delete] button in "b" (2) click the "c" [add resource] button to add the current project
please refer to the application note "how to allocate functions and variables to specific areas". it describes how to allocate functions and ram variables in specific areas. the application note can be downloaded from our support site.
with the name of the function you want to find selected on the lexide-u16 edit screen (not including parentheses), select "open declaration" from the pop-up menu that appears when right-clicked, and the contents of the defined function will be displayed.
this error indicates that an address is duplicated. the following are possible causes. (1) duplicate addresses exist in a single file. (2) when multiple files are addlisted, data with the same address exists in each file.
the following is a description of the workaround. (1) the vector address 00h to 7fh of the interrupt may have overlapping definitions. first, refer to the map file (*.map) and check which addresses overlap. the overlapped area will be marked with *ovl* on the left side as shown below. *ovl* s code* 00:0010 00:004f 0040(64) (absolute)
please search "#pragma interrupt" and check if there are any duplicate vector address definitions. if there are any, delete one of them. enable the option "stop by warning occurrence" to stop the build when a warning occurs during linking to ensure that this problem is detected.
(2) check if the addresses are duplicated between the files to be addlisted. also, when adding separately created files such as audio data and table data, it is possible that they are addlisted without offsets being set. in this case, set the offset and add the file when performing addlist.