OpenMV固件资料


OpenMV固件所有资料
资源截图
代码片段和文件信息
/*
 * This file is part of the Micro Python project http://micropython.org/
 *
 * The MIT License (MIT)
 *
 * Copyright (c) 2013 2014 Damien P. George
 *
 * Permission is hereby granted free of charge to any person obtaining a copy
 * of this software and associated documentation files (the “Software“) to deal
 * in the Software without restriction including without limitation the rights
 * to use copy modify merge publish distribute sublicense and/or sell
 * copies of the Software and to permit persons to whom the Software is
 * furnished to do so subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED “AS IS“ WITHOUT WARRANTY OF ANY KIND EXPRESS OR
 * IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM DAMAGES OR OTHER
 * LIABILITY WHETHER IN AN ACTION OF CONTRACT TORT OR OTHERWISE ARISING FROM
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#include STM32_HAL_H
#include “flash.h“

#if defined(STM32F765xx) ||  defined(STM32F769xx)
#define FLASH_FLAG_PGSERR (FLASH_FLAG_ERSERR)
#endif

extern void __fatal_error();

void flash_erase(uint32_t sector)
{
    uint32_t SectorError = 0;

    // unlock
    HAL_FLASH_Unlock();

    // Clear pending flags (if any)
    __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR |
                           FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR);

    // erase the sector(s)
    FLASH_EraseInitTypeDef EraseInitStruct;
    EraseInitStruct.TypeErase = TYPEERASE_SECTORS;
    EraseInitStruct.VoltageRange = VOLTAGE_RANGE_3; // voltage range needs to be 2.7V to 3.6V
    EraseInitStruct.Sector = sector;
    EraseInitStruct.NbSectors = 1;

    if (HAL_FLASHEx_Erase(&EraseInitStruct &SectorError) != HAL_OK) {
        // error occurred during sector erase
        HAL_FLASH_Lock(); // lock the flash
        __fatal_error();
    }

    HAL_FLASH_Lock(); // lock the flash
}

void flash_write(const uint32_t *src uint32_t dst uint32_t size)
{
    // unlock flash
    HAL_FLASH_Unlock();

    // program the flash word by word
    for (int i=0; i        if (HAL_FLASH_Program(TYPEPROGRAM_WORD dst *src) != HAL_OK) {
            // error occurred during flash write
            HAL_FLASH_Lock(); // lock the flash
            __fatal_error();
        }
        src += 1;
        dst += 4;
    }

    // lock the flash
    HAL_FLASH_Lock();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-07-28 10:48  openmv-master
     文件         314  2017-03-27 04:25  openmv-master.gitignore
     文件         120  2017-03-27 04:25  openmv-master.gitmodules
     文件        8172  2017-03-27 04:25  openmv-masterCHANGELOG.md
     目录           0  2017-07-28 10:48  openmv-masterdesign
     文件     2577011  2017-07-07 16:51  openmv-masterdesignopenmv.pdf
     目录           0  2017-07-28 10:48  openmv-mastereagle
     目录           0  2017-07-28 10:48  openmv-mastereaglelbr
     文件       10435  2017-03-27 04:25  openmv-mastereaglelbromnivision.lbr
     文件       96577  2017-03-27 04:25  openmv-mastereaglelbropenmv.lbr
     目录           0  2017-07-28 10:48  openmv-mastereagleopenmv-sdr
     文件      277650  2017-03-27 04:25  openmv-mastereagleopenmv-sdropenmv-sdr.brd
     文件       51525  2017-03-27 04:25  openmv-mastereagleopenmv-sdropenmv-sdr.pdf
     文件      488205  2017-03-27 04:25  openmv-mastereagleopenmv-sdropenmv-sdr.sch
     目录           0  2017-07-28 10:48  openmv-mastereagleopenmv1
     目录           0  2017-07-28 10:48  openmv-mastereagleopenmv1debug_adaptor
     文件       25323  2017-03-27 04:25  openmv-mastereagleopenmv1debug_adaptordebug_adaptor.brd
     文件       23932  2017-03-27 04:25  openmv-mastereagleopenmv1debug_adaptordebug_adaptor.sch
     文件      162290  2017-03-27 04:25  openmv-mastereagleopenmv1openmv.brd
     文件        2185  2017-03-27 04:25  openmv-mastereagleopenmv1openmv.dru
     文件       37197  2017-03-27 04:25  openmv-mastereagleopenmv1openmv.pdf
     文件      335273  2017-03-27 04:25  openmv-mastereagleopenmv1openmv.sch
     目录           0  2017-07-28 10:48  openmv-mastereagleopenmv1shields
     目录           0  2017-07-28 10:48  openmv-mastereagleopenmv1shieldsle
     文件       65442  2017-03-27 04:25  openmv-mastereagleopenmv1shieldsleopenmv-ble.brd
     文件      161456  2017-03-27 04:25  openmv-mastereagleopenmv1shieldsleopenmv-ble.sch
     目录           0  2017-07-28 10:48  openmv-mastereagleopenmv1shieldscc3k
     文件       72320  2017-03-27 04:25  openmv-mastereagleopenmv1shieldscc3kopenmv-cc.brd
     文件      186920  2017-03-27 04:25  openmv-mastereagleopenmv1shieldscc3kopenmv-cc.sch
     目录           0  2017-07-28 10:48  openmv-mastereagleopenmv2
     文件       18226  2017-03-27 04:25  openmv-mastereagleopenmv2BOM.ods
............此处省略1091个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)