##// END OF EJS Templates
Improved dfu target, now generates dfu file automatically if needed....
kaveh -
r92:8c4e597b7138 dev_alexis
parent child
Show More
@@ -0,0 +1,21
1 TEMPLATE = lib
2
3 TARGET=bsp
4 CONFIG += bsp
5
6 BSP=Nano-particle
7
8 UCMODEL=stm32f4
9
10 SOURCES += bsp.c
11
12 HEADERS += bsp.h
13
14 LIBS+= -lgpio -luart -li2c -lspi -lpwm
15
16 BSPFILE = bsp.pri
17
18 OTHER_FILES += bsp.pri
19
20
21
@@ -0,0 +1,91
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2014, Kaveh Mohamadabadi
4 --
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
9 --
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
14 --
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------
19 -- Author : Kaveh Mohamadabadi
20 -- Mail : kaveh.mohamadabadi@gmail.com
21 -------------------------------------------------------------------------------*/
22 #include "bsp.h"
23 #include <streamdevices.h>
24 #include <malloc.h>
25 #include <gpio.h>
26 #include <uart.h>
27 #include <stdio.h>
28 uint32_t OSC0 =12000000;
29 uint32_t INTOSC =16000000;
30 uint32_t RTCOSC =32768;
31 uint32_t currentCpuFreq=0;
32 extern streamdevice* __opnfiles__[__MAX_OPENED_FILES__];
33 gpio_t TickLed = LED1;
34
35 float VREF0 =(float)3.3;
36
37 int bsp_init()
38 {
39 int i=0;
40 for(i=0;i<32;i++)
41 {
42 __opnfiles__[i] = NULL;
43 }
44 bsp_GPIO_init();
45 bsp_uart_init();
46 printf("\r================================================================\n\r");
47 printf("================================================================\n\r");
48 printf(BSP);
49 printf(" initialised\n\r");
50 printf("================================================================\n\r");
51 return 1;
52 }
53
54 void bsp_GPIO_init()
55 {
56
57 }
58
59 void bsp_uart_init()
60 {
61 if(__opnfiles__[1]==NULL)
62 {
63 // streamdevice* fd1 = (streamdevice*)malloc(sizeof(streamdevice));
64 // uart_t uart = uartopenandconfig(uart3,uartparitynone | uart8bits | uartonestop,19200,PB10,PB11,-1,-1);
65 // uartmkstreamdev(uart,fd1);
66 // __opnfiles__[1] = fd1; //stdo
67 // __opnfiles__[0] = fd1; //stdi
68 }
69 else
70 {
71 // uartopenandconfig(2,uartparitynone | uart8bits | uartonestop,115200,PB10,PB11,-1,-1);
72 }
73 }
74
75 void bsp_spi_init()
76 {
77
78 }
79
80
81 void bsp_iic_init()
82 {
83
84 }
85
86
87
88
89
90
91
@@ -0,0 +1,68
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2014, Kaveh Mohamadabadi
4 --
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
9 --
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
14 --
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------
19 -- Author : Kaveh Mohamadabadi
20 -- Mail : kaveh.mohamadabadi@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef BSP_H
23 #define BSP_H
24 #include <stm32f4xx.h>
25 #include <gpio.h>
26
27 #define __MAX_OPENED_FILES__ 32
28 #define __FS_ROOT_SIZE__ 32
29
30 #define LED1 PD12
31 #define LED2 PD13
32
33 extern float VREF0;
34
35 extern uint32_t OSC0;
36 extern uint32_t currentCpuFreq;
37
38
39
40 extern int bsp_init();
41
42 extern void bsp_GPIO_init();
43 extern void bsp_uart_init();
44 extern void bsp_iic_init();
45 extern void bsp_spi_init();
46
47
48
49 #endif
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
@@ -11,7 +11,8 SUBDIRS += STM32F4Discovery \
11 OPLAYER \
11 OPLAYER \
12 STM32-E407 \
12 STM32-E407 \
13 STM32F429Discovery \
13 STM32F429Discovery \
14 STM32F4Discovery_35LCD
14 STM32F4Discovery_35LCD \
15 Nano-particle
15
16
16
17
17
18
@@ -19,7 +19,7
19 -- Author : Kaveh Mohamadabadi
19 -- Author : Kaveh Mohamadabadi
20 -- Mail : kaveh.mohamadabadi@gmail.com
20 -- Mail : kaveh.mohamadabadi@gmail.com
21 -------------------------------------------------------------------------------*/
21 -------------------------------------------------------------------------------*/
22
22 /// \defgroup PWM
23 /*! \file pwm.h
23 /*! \file pwm.h
24 \brief PWM api.
24 \brief PWM api.
25
25
@@ -49,6 +49,7 A simple example to configure and use PW
49 }
49 }
50
50
51 \endcode
51 \endcode
52 \ingroup PWM
52
53
53 */
54 */
54 #ifndef PWM_H
55 #ifndef PWM_H
@@ -58,6 +59,14 A simple example to configure and use PW
58 #ifdef __cplusplus
59 #ifdef __cplusplus
59 extern "C" {
60 extern "C" {
60 #endif
61 #endif
62 /**
63 * @brief PWM open function
64 *
65 * This function opens the given PWM, it should turn it ON iff needed and enable it.
66 * @param PWM The PWM module and channel PWM1_CH6 for example
67 * @return The 0 on success or -1 if it fails.
68 * @ingroup PWM
69 */
61 extern int pwmopen(int PWM,uint32_t pin);
70 extern int pwmopen(int PWM,uint32_t pin);
62 extern int pwmsetconfig(int PWM,uint32_t freq,float dutyCycle);
71 extern int pwmsetconfig(int PWM,uint32_t freq,float dutyCycle);
63 extern int pwmsetdutycycle(int PWM,float dutyCycle);
72 extern int pwmsetdutycycle(int PWM,float dutyCycle);
@@ -57,7 +57,11 contains( TEMPLATE, app ) {
57
57
58 stflash.target = stflash
58 stflash.target = stflash
59 stflash.commands = cd $$DESTDIR && st-flash write $(QMAKE_TARGET).bin 0x08000000
59 stflash.commands = cd $$DESTDIR && st-flash write $(QMAKE_TARGET).bin 0x08000000
60 dfu_file.target = $$DESTDIR/$(QMAKE_TARGET).dfu
61 dfu_file.commands = python $$[QT_INSTALL_BINS]/dfu.py -b 0x08000000:$$DESTDIR/$(QMAKE_TARGET).bin $$DESTDIR/$(QMAKE_TARGET).dfu
62 dfu_file.depends = $$DESTDIR/$(QMAKE_TARGET)
60 dfu.target = dfu
63 dfu.target = dfu
64 dfu.depends = $$DESTDIR/$(QMAKE_TARGET).dfu
61 dfu.commands = cd $$DESTDIR && dfu-util d 0483:df11 -c 1 -i 0 -a 0 -s 0x08000000 -D $(QMAKE_TARGET).bin 0x08000000
65 dfu.commands = cd $$DESTDIR && dfu-util d 0483:df11 -c 1 -i 0 -a 0 -s 0x08000000 -D $(QMAKE_TARGET).bin 0x08000000
62 gdb-server.target = gdb-server
66 gdb-server.target = gdb-server
63 gdb-server.commands = st-util -p 3333 &
67 gdb-server.commands = st-util -p 3333 &
@@ -65,7 +69,7 contains( TEMPLATE, app ) {
65 nemiver.target = nemiver
69 nemiver.target = nemiver
66 nemiver.commands = cd $$DESTDIR && nemiver --remote=localhost:3333 --gdb-binary=`which arm-none-eabi-gdb` $(QMAKE_TARGET)
70 nemiver.commands = cd $$DESTDIR && nemiver --remote=localhost:3333 --gdb-binary=`which arm-none-eabi-gdb` $(QMAKE_TARGET)
67 nemiver.depends = gdb-server
71 nemiver.depends = gdb-server
68 QMAKE_EXTRA_TARGETS += stflash dfu nemiver gdb-server
72 QMAKE_EXTRA_TARGETS += dfu_file stflash dfu nemiver gdb-server
69 }
73 }
70
74
71
75
General Comments 0
You need to be logged in to leave comments. Login now