1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lupyuen-LoRaMac-node-nuttx

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
eeprom-board.c 2.2 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
Daniel Jaeckle Отправлено 4 лет назад c756d94
/*!
* \file eeprom-board.c
*
* \brief Target board EEPROM driver implementation
*
* \copyright Revised BSD License, see section \ref LICENSE.
*
* \code
* ______ _
* / _____) _ | |
* ( (____ _____ ____ _| |_ _____ ____| |__
* \____ \| ___ | (_ _) ___ |/ ___) _ \
* _____) ) ____| | | || |_| ____( (___| | | |
* (______/|_____)_|_|_| \__)_____)\____)_| |_|
* (C)2013-2017 Semtech
*
* \endcode
*
* \author Miguel Luis ( Semtech )
*
* \author Gregory Cristian ( Semtech )
*/
#include "stm32l1xx.h"
#include "utilities.h"
#include "eeprom-board.h"
uint8_t EepromMcuWriteBuffer( uint16_t addr, uint8_t *buffer, uint16_t size )
{
uint8_t status = FAIL;
assert_param( ( FLASH_EEPROM_BASE + addr ) >= FLASH_EEPROM_BASE );
assert_param( buffer != NULL );
assert_param( size < ( FLASH_EEPROM_END - FLASH_EEPROM_BASE ) );
if( HAL_FLASHEx_DATAEEPROM_Unlock( ) == HAL_OK )
{
CRITICAL_SECTION_BEGIN( );
for( uint16_t i = 0; i < size; i++ )
{
if( HAL_FLASHEx_DATAEEPROM_Program( FLASH_TYPEPROGRAMDATA_BYTE,
( FLASH_EEPROM_BASE + addr + i ),
buffer[i] ) != HAL_OK )
{
// Failed to write EEPROM
break;
}
}
CRITICAL_SECTION_END( );
status = SUCCESS;
}
HAL_FLASHEx_DATAEEPROM_Lock( );
return status;
}
uint8_t EepromMcuReadBuffer( uint16_t addr, uint8_t *buffer, uint16_t size )
{
assert_param( ( FLASH_EEPROM_BASE + addr ) >= FLASH_EEPROM_BASE );
assert_param( buffer != NULL );
assert_param( size < ( FLASH_EEPROM_END - FLASH_EEPROM_BASE ) );
memcpy1( buffer, ( uint8_t* )( FLASH_EEPROM_BASE + addr ), size );
return SUCCESS;
}
void EepromMcuSetDeviceAddr( uint8_t addr )
{
assert_param( FAIL );
}
uint8_t EepromMcuGetDeviceAddr( void )
{
assert_param( FAIL );
return 0;
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/lupyuen-LoRaMac-node-nuttx.git
git@gitlife.ru:oschina-mirror/lupyuen-LoRaMac-node-nuttx.git
oschina-mirror
lupyuen-LoRaMac-node-nuttx
lupyuen-LoRaMac-node-nuttx
v4.5.1