资源简介
用于星云5100三轴稳定器的调参,根据不同单反相机的重量进行详细的设置,以及恢复出厂设置等功能
代码片段和文件信息
// Loader driver
#include “stm32ld.h“
#include
#include
#include
#include
#include
static FILE *fp;
static u32 fpsize;
#define BL_VERSION_MAJOR 2
#define BL_VERSION_MINOR 1
#define BL_MKVER( major minor ) ( ( major ) * 256 + ( minor ) )
#define BL_MINVERSION BL_MKVER( BL_VERSION_MAJOR BL_VERSION_MINOR )
#define CHIP_ID 0x0414
#define CHIP_ID_ALT 0x0413
// ****************************************************************************
// Helper functions and macros
// Get data function
static u32 writeh_read_data( u8 *dst u32 len )
{
size_t readbytes = 0;
if( !feof( fp ) )
readbytes = fread( dst 1 len fp );
return ( u32 )readbytes;
}
// Progress function
static void writeh_progress( u32 wrote )
{
unsigned pwrite = ( wrote * 100 ) / fpsize;
static int expected_next = 10;
if( pwrite >= expected_next )
{
printf( “%d%% “ expected_next );
expected_next += 10;
}
}
// ****************************************************************************
// Entry point
int main( int argc const char **argv )
{
u8 not_flashing=0;
u8 send_go_command=0;
u8 minor major;
u16 version;
long baud;
// Argument validation
if( argc < 4 )
{
fprintf( stderr “Usage: stm32ld [<0|1 to send Go command to new flashed app>]\n“ );
fprintf( stderr “Note: Thanks to Go command you don‘t need to change status of BOOT0 after flashing\n\t\ttake care after power cycle ...\n\n\n“ );
exit( 1 );
}
errno = 0;
baud = strtol( argv[ 2 ] NULL 10 );
if( ( errno == ERANGE && ( baud == LONG_MAX || baud == LONG_MIN ) ) || ( errno != 0 && baud == 0 ) || ( baud < 0 ) )
{
fprintf( stderr “Invalid baud ‘%s‘\n“ argv[ 2 ] );
exit( 1 );
}
if( argc >= 5 && strlen(argv[ 4 ])==1 && strncmp(argv[ 4 ] “1“ 1)==0 )
{
send_go_command=1;
}
if( strlen(argv[ 3 ])==1 && strncmp(argv[ 3 ] “0“ 1)==0 )
{
not_flashing=1;
}
else
{
if( ( fp = fopen( argv[ 3 ] “rb“ ) ) == NULL )
{
fprintf( stderr “Unable to open %s\n“ argv[ 3 ] );
exit( 1 );
}
else
{
fseek( fp 0 SEEK_END );
fpsize = ftell( fp );
fseek( fp 0 SEEK_SET );
}
}
// Connect to bootloader
if( stm32_init( argv[ 1 ] baud ) != STM32_OK )
{
fprintf( stderr “Unable to connect to bootloader\n“ );
exit( 1 );
}
// Get version
if( stm32_get_version( &major &minor ) != STM32_OK )
{
fprintf( stderr “Unable to get bootloader version\n“ );
exit( 1 );
}
else
{
printf( “Found bootloader version: %d.%d\n“ major minor );
if( BL_MKVER( major minor ) < BL_MINVERSION )
{
fprintf( stderr “Unsupported bootloader version“ );
exit( 1 );
}
}
// Get chip ID
if( stm32_get_chip_id( &version ) != STM32_OK )
{
fprintf( stderr “Unable to get chip ID\n“ );
exit( 1 );
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-08-22 11:52 星云调参\
目录 0 2017-01-19 00:36 星云调参\SimpleBGC_GUI_2_63b0\
目录 0 2016-08-09 15:18 星云调参\SimpleBGC_GUI_2_63b0\bin\
文件 551099 2011-08-31 06:43 星云调参\SimpleBGC_GUI_2_63b0\bin\avrdude.conf
文件 344078 2011-08-31 07:02 星云调参\SimpleBGC_GUI_2_63b0\bin\avrdude.exe
文件 115520 2014-09-13 14:31 星云调参\SimpleBGC_GUI_2_63b0\bin\dfu-util-linux
文件 60516 2008-09-28 13:00 星云调参\SimpleBGC_GUI_2_63b0\bin\dfu-util-mac
文件 280795 2014-09-13 14:20 星云调参\SimpleBGC_GUI_2_63b0\bin\dfu-util-windows.exe
文件 167936 2012-11-07 19:45 星云调参\SimpleBGC_GUI_2_63b0\bin\Files.dll
文件 43520 2012-03-18 15:49 星云调参\SimpleBGC_GUI_2_63b0\bin\libusb0.dll
目录 0 2016-01-28 14:59 星云调参\SimpleBGC_GUI_2_63b0\bin\Map\
文件 6872 2012-11-07 16:29 星云调参\SimpleBGC_GUI_2_63b0\bin\Map\STM32F303_128K.STmap
文件 12368 2012-11-07 16:29 星云调参\SimpleBGC_GUI_2_63b0\bin\Map\STM32F303_256K.STmap
文件 69632 2012-11-07 19:44 星云调参\SimpleBGC_GUI_2_63b0\bin\STBLLIB.dll
目录 0 2016-01-28 14:59 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\
文件 160 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\lakefile
文件 4672 2014-08-26 12:49 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\main.c
文件 1063 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\MIT-LICENSE
文件 522 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\README.md
文件 1213 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\serial.h
文件 4100 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\serial_posix.c
文件 3848 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\serial_win32.c
文件 6072 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\stm32ld.c
文件 1197 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\stm32ld.h
文件 482 2013-07-16 13:30 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld-src\type.h
文件 18059 2014-09-05 23:41 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld_linux
文件 19476 2016-08-09 15:18 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld_mac
文件 19540 2014-08-26 11:47 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld_mac_old
文件 61062 2014-08-26 12:52 星云调参\SimpleBGC_GUI_2_63b0\bin\stm32ld_win.exe
文件 32768 2014-01-30 16:33 星云调参\SimpleBGC_GUI_2_63b0\bin\STMFlashLoader.exe
文件 77824 2012-11-07 19:44 星云调参\SimpleBGC_GUI_2_63b0\bin\STUARTBLLIB.dll
............此处省略69个文件信息
评论
共有 条评论