Making the second parameter of wiced_dct_read_lock and wiced_dct_read_unlock functions from FALSE to TRUE gets things working, Still not clear on the reason.
1 of 1 people found this helpful
There has been some changes for storing and retrieving DCT data from SDK-2.4.1 to SDK-3.1.0.
Please check the header file or documentation for the APIs for more information.
Here is the functions parameter as follows:
/** Reads the DCT and returns a pointer to the DCT data
* The operation of this function depends on whether the DCT is located in
* external or internal flash memory.
* If ptr_is_writable is set to false and the DCT is located in internal flash,
* then a direct pointer to the flash memory will be returned.
* Otherwise memory will be allocated and the DCT data will be copied into it.
* @note : this function must be used in pairs with wiced_dct_read_unlock to
* ensure that any allocated memory is freed.
* @param info_ptr [out] : a pointer to the pointer that will be filled on return
* @param ptr_is_writable [in] : if true then then the returned pointer will be in RAM
* allowing it to be modified. e.g. before being written
* @param section [in] : the section of the DCT which should be read
* @param offset [in] : the offset in bytes within the section
* @param size [in] : the length of data that should be read
* @return Wiced Result
extern wiced_result_t wiced_dct_read_lock( void** info_ptr, wiced_bool_t ptr_is_writable, dct_section_t section, uint32_t offset, uint32_t size );
Thanks Seyhan. I agree, the parameter section does explain it.