##// END OF EJS Templates
New version totaly integrated to Qt through custom sdk build!...
jeandet -
r47:7126c4937e8d dev_alexis
parent child
Show More
@@ -0,0 +1,105
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef BSP_H
23 #define BSP_H
24 #include <stm32f4xx.h>
25 #include <stm32f4xx_gpio.h>
26 #include <stm32f4xx_rcc.h>
27 #include <gpio.h>
28 #include <ili9328.h>
29 #include <genericLCD_Controler.h>
30
31 #define __MAX_OPENED_FILES__ 4
32 #define __FS_ROOT_SIZE__ 4
33 /*
34 #ifndef PD8
35 #define PD8
36 #endif
37 #ifndef PD9
38 #define PD9
39 #endif
40 */
41
42
43 #define LED1 PF6
44 #define LED2 PF7
45 #define LED3 PF8
46
47 #define PSU_DISABLE PH2
48 #define PSU_ALERT_5V PF2
49 #define PSU_ALERT_1_5V PF3
50 #define PSU_ALERT_3_3V PF4
51
52 #define LCD_RESET PE2
53
54 extern float VREF0;
55
56 extern uint32_t currentCpuFreq;
57 extern LCD_t lcd0;
58
59
60 extern int bsp_init();
61
62 extern void bsp_GPIO_init();
63 extern void bsp_uart_init();
64 extern void bsp_iic_init();
65 extern void bsp_spi_init();
66 extern void bsp_SD_init();
67 extern int bsp_FSMC_init();
68
69 /* VS1053 */
70 extern void clearXCS();
71 extern void setXCS();
72 extern int vs10XXDREQ();
73
74 /* SD CARD */
75 void bsppowersdcard(char onoff);
76 char bspsdcardpresent();
77 void bspsdcardselect(char YESNO);
78 char bspsdcardwriteprotected();
79
80
81 void bsp_lcd0_write_reg(uint32_t reg,uint32_t data);
82 uint32_t bsp_lcd0_read_reg(uint32_t reg);
83 void bsp_lcd0_writeGRAM(void *buffer, uint32_t count);
84 void bsp_lcd0_readGRAM(void *buffer, uint32_t count);
85
86 #endif
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
@@ -0,0 +1,86
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef BSP_H
23 #define BSP_H
24 #include <stm32f4xx.h>
25 #include <stm32f4xx_gpio.h>
26 #include <stm32f4xx_rcc.h>
27 #include <gpio.h>
28
29
30 #define __MAX_OPENED_FILES__ 32
31 #define __FS_ROOT_SIZE__ 32
32
33 #define LED1 PD8
34 #define LED2 PD9
35
36 #define LED3ON GPIOB->BSRRH = GPIO_Pin_15
37 #define LED2ON GPIOD->BSRRH = GPIO_Pin_8
38 #define LED1ON GPIOD->BSRRH = GPIO_Pin_9
39
40 #define LED3OFF GPIOB->BSRRL = GPIO_Pin_15
41 #define LED2OFF GPIOD->BSRRL = GPIO_Pin_8
42 #define LED1OFF GPIOD->BSRRL = GPIO_Pin_9
43
44 extern float VREF0;
45
46 extern uint32_t currentCpuFreq;
47
48 extern int bsp_init();
49
50 extern void bsp_GPIO_init();
51 extern void bsp_uart_init();
52 extern void bsp_iic_init();
53 extern void bsp_spi_init();
54 extern void bsp_SD_init();
55
56 /* VS1053 */
57 extern void clearXCS();
58 extern void setXCS();
59 extern int vs10XXDREQ();
60
61 /* SD CARD */
62 void bsppowersdcard(char onoff);
63 char bspsdcardpresent();
64 void bspsdcardselect(char YESNO);
65 char bspsdcardwriteprotected();
66
67 #endif
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
@@ -0,0 +1,92
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef BSP_H
23 #define BSP_H
24 #include <stm32f4xx.h>
25 #include <stm32f4xx_gpio.h>
26 #include <stm32f4xx_rcc.h>
27 #include <gpio.h>
28
29
30 #define __MAX_OPENED_FILES__ 32
31 #define __FS_ROOT_SIZE__ 32
32
33 #define LED1 PD9
34 #define LED2 PD8
35 #define LED3 PB15
36
37 #define DAC_CS PA1
38 #define DAC_DIN PA7
39
40 #define ADC_MODE0 PA2
41 #define ADC_MODE1 PA3
42 #define ADC_FSYNC PA4
43 #define ADC_SCLK PA5
44 #define ADC_DOUT1 PA6
45
46 #define ADC_SYNC PB10
47 #define ADC_CLKDIV PB11
48
49
50 extern float VREF0;
51
52 extern uint32_t currentCpuFreq;
53
54 extern int bsp_init();
55
56 extern void bsp_GPIO_init();
57 extern void bsp_uart_init();
58 extern void bsp_iic_init();
59 extern void bsp_spi_init();
60 extern void bsp_SD_init();
61
62 /* VS1053 */
63 extern void clearXCS();
64 extern void setXCS();
65 extern int vs10XXDREQ();
66
67 /* SD CARD */
68 void bsppowersdcard(char onoff);
69 char bspsdcardpresent();
70 void bspsdcardselect(char YESNO);
71 char bspsdcardwriteprotected();
72
73 #endif
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
@@ -0,0 +1,96
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef BSP_H
23 #define BSP_H
24 #include <stm32f4xx.h>
25 #include <stm32f4xx_gpio.h>
26 #include <stm32f4xx_rcc.h>
27 #include <gpio.h>
28
29 #define __MAX_OPENED_FILES__ 4
30 #define __FS_ROOT_SIZE__ 4
31 /*
32 #ifndef PD8
33 #define PD8
34 #endif
35 #ifndef PD9
36 #define PD9
37 #endif
38 */
39
40 #define LED1 PD12
41 #define LED2 PD13
42 #define LED3 PD14
43 #define LED4 PD15
44
45
46 #define LED3ON GPIOB->BSRRH = GPIO_Pin_15
47 #define LED2ON GPIOD->BSRRH = GPIO_Pin_8
48 #define LED1ON GPIOD->BSRRH = GPIO_Pin_9
49
50 #define LED3OFF GPIOB->BSRRL = GPIO_Pin_15
51 #define LED2OFF GPIOD->BSRRL = GPIO_Pin_8
52 #define LED1OFF GPIOD->BSRRL = GPIO_Pin_9
53
54 extern float VREF0;
55
56 extern uint32_t currentCpuFreq;
57
58 extern int bsp_init();
59
60 extern void bsp_GPIO_init();
61 extern void bsp_uart_init();
62 extern void bsp_iic_init();
63 extern void bsp_spi_init();
64 extern void bsp_SD_init();
65
66 /* VS1053 */
67 extern void clearXCS();
68 extern void setXCS();
69 extern int vs10XXDREQ();
70
71 /* SD CARD */
72 void bsppowersdcard(char onoff);
73 char bspsdcardpresent();
74 void bspsdcardselect(char YESNO);
75 char bspsdcardwriteprotected();
76
77 #endif
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
@@ -0,0 +1,95
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef BSP_H
23 #define BSP_H
24 #include <stm32f4xx.h>
25 #include <gpio.h>
26 /*
27 #ifndef PD12
28 #define PD12
29 #endif
30 #ifndef PD13
31 #define PD13
32 #endif
33 */
34 #define __MAX_OPENED_FILES__ 32
35 #define __FS_ROOT_SIZE__ 32
36
37 #define LED1 PD12
38 #define LED2 PD13
39
40 #define GREENLEDON (GPIOD->BSRRL = 1<<12)
41 #define ORANGELEDON (GPIOD->BSRRL = 1<<13)
42 #define REDLEDON (GPIOD->BSRRL = 1<<14)
43 #define BLUELEDON (GPIOD->BSRRL = 1<<15)
44
45 #define GREENLEDOFF (GPIOD->BSRRH = 1<<12)
46 #define ORANGELEDOFF (GPIOD->BSRRH = 1<<13)
47 #define REDLEDOFF (GPIOD->BSRRH = 1<<14)
48 #define BLUELEDOFF (GPIOD->BSRRH = 1<<15)
49
50 extern float VREF0;
51
52 extern uint32_t OSC0;
53 extern uint32_t currentCpuFreq;
54
55
56
57 extern int bsp_init();
58
59 extern void bsp_GPIO_init();
60 extern void bsp_uart_init();
61 extern void bsp_iic_init();
62 extern void bsp_spi_init();
63 extern void bsp_SD_init();
64
65 /* VS1053 */
66 extern void clearXCS();
67 extern void setXCS();
68 extern int vs10XXDREQ();
69
70 /* SD CARD */
71 void bsppowersdcard(char onoff);
72 char bspsdcardpresent();
73 void bspsdcardselect(char YESNO);
74 char bspsdcardwriteprotected();
75
76 #endif
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
@@ -0,0 +1,18
1 TEMPLATE = lib
2
3 TARGET=bsp
4 OBJECTS_DIR = obj
5
6 BSP=STM32F4Eval
7
8 UCMODEL=stm32f4
9
10 SOURCES += bsp.c
11
12 HEADERS += bsp.h
13
14
15 BSPFILE = bsp.pri
16
17
18
@@ -0,0 +1,319
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@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 #include <stm32f4xx_gpio.h>
29 #include <stm32f4xx_fsmc.h>
30 #include <i2c.h>
31 #include <core.h>
32 uint32_t OSC0 =8000000;
33 uint32_t INTOSC =16000000;
34 uint32_t RTCOSC =32768;
35 uint32_t currentCpuFreq=0;
36 extern streamdevice* __opnfiles__[__MAX_OPENED_FILES__];
37
38 LCD_IF_t lcdIF0={
39 .init = &bsp_FSMC_init,
40 .writereg = &bsp_lcd0_write_reg,
41 .readreg = &bsp_lcd0_read_reg,
42 .writeGRAM = &bsp_lcd0_writeGRAM,
43 .readGRAM = &bsp_lcd0_readGRAM
44 };
45
46 LCD_t lcd0={
47 .interface = &lcdIF0,
48 .init = &ili9328init,
49 .paint = &ili9328paint,
50 .paintText = &ili9328paintText,
51 .paintFilRect = &ili9328paintFilRect,
52 .refreshenable = &ili9328refreshenable,
53 .width= 240,
54 .height = 320
55 };
56
57 volatile int16_t* lcd0_CMD=(volatile int16_t*) (0x60000000 | 0x08000000);
58 volatile int16_t* lcd0_DATA=((volatile int16_t*)(0x60000000 | 0x08000002));
59
60 float VREF0 =(float)3.3;
61
62 int bsp_init()
63 {
64 int i=0;
65 for(i=0;i<32;i++)
66 {
67 __opnfiles__[i] = NULL;
68 }
69 bsp_GPIO_init();
70 bsp_uart_init();
71 bsp_iic_init();
72 bsp_FSMC_init();
73 lcd0.init(&lcd0);
74 printf("\r================================================================\n\r");
75 printf("================================================================\n\r");
76 printf(BSP);
77 printf(" initialised\n\r");
78 printf("================================================================\n\r");
79 return 1;
80 }
81
82 void bsp_GPIO_init()
83 {
84 gpio_t gpio1 = gpioopen(LED1);
85 gpio_t gpio2 = gpioopen(LED2);
86 gpio_t gpio3 = gpioopen(LED3);
87 gpiosetspeed(&gpio1,gpiohighspeed);
88 gpiosetspeed(&gpio2,gpiohighspeed);
89 gpiosetspeed(&gpio3,gpiohighspeed);
90 gpiosetdir(&gpio1,gpiooutdir);
91 gpiosetdir(&gpio2,gpiooutdir);
92 gpiosetdir(&gpio3,gpiooutdir);
93 }
94
95 void bsp_uart_init()
96 {
97 if(__opnfiles__[1]==NULL)
98 {
99 //uart_t* uart1 = (uart_t*)malloc(sizeof(uart_t));
100 streamdevice* fd1 = (streamdevice*)malloc(sizeof(streamdevice));
101 uart_t uart = uartopenandconfig(uart3,uartparitynone | uart8bits | uartonestop,115200,PC10,PC11,-1,-1);
102 uartmkstreamdev(uart,fd1);
103 __opnfiles__[1] = fd1;
104 }
105 else
106 {
107 uartopenandconfig(uart3,uartparitynone | uart8bits | uartonestop,115200,PC10,PC11,-1,-1);
108 }
109 }
110
111 /*
112 D0 PD14 D1 PD15 D2 PD0 D3 PD1 D4 PE7
113 D5 PE8 D6 PE9 D7 PE10 D8 PE11 D9 PE12
114 D10 PE13 D11 PE14 D12 PE15 D13 PD8 D14 PD9
115 D15 PD10
116 A0 PF0 = RS FSMC_NE3 PG10 CS FSMC_NWE PD5 W/S
117 FSMC_NOE PD4 RD
118 */
119 /*-- GPIOs Configuration -----------------------------------------------------*/
120 /*
121 +-------------------+--------------------+------------------+------------------+
122 + SRAM pins assignment +
123 +-------------------+--------------------+------------------+------------------+
124 | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 |
125 | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 |
126 | PD4 <-> FSMC_NOE | PE3 <-> FSMC_A19 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 |
127 | PD5 <-> FSMC_NWE | PE4 <-> FSMC_A20 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 |
128 | PD8 <-> FSMC_D13 | PE7 <-> FSMC_D4 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 |
129 | PD9 <-> FSMC_D14 | PE8 <-> FSMC_D5 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 |
130 | PD10 <-> FSMC_D15 | PE9 <-> FSMC_D6 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 |
131 | PD11 <-> FSMC_A16 | PE10 <-> FSMC_D7 | PF13 <-> FSMC_A7 |------------------+
132 | PD12 <-> FSMC_A17 | PE11 <-> FSMC_D8 | PF14 <-> FSMC_A8 |
133 | PD13 <-> FSMC_A18 | PE12 <-> FSMC_D9 | PF15 <-> FSMC_A9 |
134 | PD14 <-> FSMC_D0 | PE13 <-> FSMC_D10 |------------------+
135 | PD15 <-> FSMC_D1 | PE14 <-> FSMC_D11 |
136 | | PE15 <-> FSMC_D12 |
137 +-------------------+--------------------+
138 */
139 int bsp_FSMC_init()
140 {
141 #define GPIOGETPORT(gpio) ((GPIO_TypeDef*)(((((uint32_t)gpio) & (uint32_t)0x0000FF00)*(uint32_t)4) + (uint32_t)GPIOA))
142 #define GPIOPORTNUM(gpio) (((uint32_t)(gpio) & (uint32_t)0x0000FF00)>>(uint32_t)8)
143
144 gpio_t LCD_DBxList[]={
145 PD0 ,PD1 ,PD4 ,PD5 ,PD8 ,PD9 ,PD10,PD11,PD12,PD13,PD14,PD15,
146 PE0 ,PE1 ,PE3 ,PE4 ,PE7 ,PE8 ,PE9 ,PE10,PE11,PE12,PE13,PE14,
147 PE15,PF0 ,PF1 ,PF2 ,PF3 ,PF4 ,PF5 ,PF12,PF13,PF14,PF15,PG0 ,
148 PG1 ,PG2 ,PG3 ,PG4 ,PG5 ,PG9 ,PG10
149 };
150
151 for(int i=0;i<43;i++)
152 {
153 gpio_t LCD_DBx = gpioopen(LCD_DBxList[i]);
154 LCD_DBx |= gpiohighspeed | gpioaf | gpiopushpulltype | gpionopulltype;
155 gpiosetconfig(&LCD_DBx);
156 GPIO_PinAFConfig(GPIOGETPORT(LCD_DBx), (uint8_t)(LCD_DBx & 0xF), GPIO_AF_FSMC);
157 }
158
159 FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;
160 FSMC_NORSRAMTimingInitTypeDef p;
161
162 /* Enable FSMC clock */
163 RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC, ENABLE);
164
165 /*-- FSMC Configuration ------------------------------------------------------*/
166 /*----------------------- SRAM Bank 3 ----------------------------------------*/
167 /* FSMC_Bank1_NORSRAM3 configuration */
168 p.FSMC_AddressSetupTime = 1;
169 p.FSMC_AddressHoldTime = 0;
170 p.FSMC_DataSetupTime = getCpuFreq()/14545450 ;// 11;
171 p.FSMC_BusTurnAroundDuration = 0;
172 p.FSMC_CLKDivision = 0;
173 p.FSMC_DataLatency = 0;
174 p.FSMC_AccessMode = FSMC_AccessMode_A;
175 /* Color LCD configuration ------------------------------------
176 LCD configured as follow:
177 - Data/Address MUX = Disable
178 - Memory Type = SRAM
179 - Data Width = 16bit
180 - Write Operation = Enable
181 - Extended Mode = Enable
182 - Asynchronous Wait = Disable */
183
184 FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3;
185 FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
186 FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
187 FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
188 FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
189 FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;
190 FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
191 FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
192 FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
193 FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
194 FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
195 FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
196 FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
197 FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
198 FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
199
200 FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
201
202 /* Enable FSMC NOR/SRAM Bank1 */
203 FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE);
204
205
206 p.FSMC_AddressSetupTime = getCpuFreq()/50000000;
207 p.FSMC_AddressHoldTime = 0;
208 p.FSMC_DataSetupTime = getCpuFreq()/25000000;
209 p.FSMC_BusTurnAroundDuration = 1;
210 p.FSMC_CLKDivision = 0;
211 p.FSMC_DataLatency = 0;
212 p.FSMC_AccessMode = FSMC_AccessMode_A;
213
214 FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2;
215 FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
216 FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM;
217 FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
218 FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
219 FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;
220 FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
221 FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
222 FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
223 FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
224 FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
225 FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
226 FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
227 FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
228 FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
229
230 FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
231
232 /*!< Enable FSMC Bank1_SRAM2 Bank */
233 FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM2, ENABLE);
234
235
236 return 1;
237 }
238
239 void bsp_spi_init()
240 {
241
242 }
243
244
245 void bsp_iic_init()
246 {
247 //i2copenandconfig(i2c2,0,400000,PF0,PF1);
248 }
249
250 void bsp_SD_init()
251 {
252
253 }
254
255 void vs10XXclearXCS(){}
256 void vs10XXsetXCS(){}
257 int vs10XXDREQ()
258 {
259 return 1;
260 }
261
262
263 void bsppowersdcard(char onoff) //always ON
264 {
265
266 }
267
268 char bspsdcardpresent()
269 {
270 return 0;
271 }
272
273 char bspsdcardwriteprotected()
274 {
275 return 0;
276 }
277
278 void bspsdcardselect(char YESNO)
279 {
280
281 }
282
283
284 void bsp_lcd0_write_reg(uint32_t reg,uint32_t data)
285 {
286 *lcd0_CMD=(uint16_t)reg;
287 *lcd0_DATA=(uint16_t)data;
288 }
289
290 uint32_t bsp_lcd0_read_reg(uint32_t reg)
291 {
292 *lcd0_CMD=(uint16_t)reg;
293 return (uint16_t)*lcd0_DATA;
294 }
295
296 void bsp_lcd0_writeGRAM(void* buffer,uint32_t count)
297 {
298 *lcd0_CMD=(uint16_t)ILI9328_REGISTER_WRITEDATATOGRAM;
299 uint16_t* castedBuff=(uint16_t*)buffer;
300 for(int i=0;i<(int)count;i++)
301 {
302 *lcd0_DATA=castedBuff[i];
303 }
304 }
305
306 void bsp_lcd0_readGRAM(void* buffer,uint32_t count)
307 {
308 *lcd0_CMD=(uint16_t)ILI9328_REGISTER_WRITEDATATOGRAM;
309 uint16_t* castedBuff=(uint16_t*)buffer;
310 castedBuff[0]=*lcd0_DATA;
311 for(int i=0;i<(int)count;i++)
312 {
313 castedBuff[i]=*lcd0_DATA;
314 }
315 }
316
317
318
319
@@ -0,0 +1,93
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef BSP_H
23 #define BSP_H
24 #include <stm32f4xx.h>
25 #include <stm32f4xx_gpio.h>
26 #include <stm32f4xx_rcc.h>
27 #include <gpio.h>
28 #include <ili9328.h>
29 #include <genericLCD_Controler.h>
30
31 #define __MAX_OPENED_FILES__ 4
32 #define __FS_ROOT_SIZE__ 4
33
34
35
36 #define LED1 PG6
37 #define LED2 PG8
38 #define LED3 PI9
39 #define LED4 PC7
40
41
42 extern float VREF0;
43
44 extern uint32_t currentCpuFreq;
45 extern LCD_t lcd0;
46
47
48 extern int bsp_init();
49
50 extern void bsp_GPIO_init();
51 extern void bsp_uart_init();
52 extern void bsp_iic_init();
53 extern void bsp_spi_init();
54 extern void bsp_SD_init();
55 extern int bsp_FSMC_init();
56
57 /* VS1053 */
58 extern void clearXCS();
59 extern void setXCS();
60 extern int vs10XXDREQ();
61
62 /* SD CARD */
63 void bsppowersdcard(char onoff);
64 char bspsdcardpresent();
65 void bspsdcardselect(char YESNO);
66 char bspsdcardwriteprotected();
67
68
69 void bsp_lcd0_write_reg(uint32_t reg,uint32_t data);
70 uint32_t bsp_lcd0_read_reg(uint32_t reg);
71 void bsp_lcd0_writeGRAM(void *buffer, uint32_t count);
72 void bsp_lcd0_readGRAM(void *buffer, uint32_t count);
73
74 #endif
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
@@ -0,0 +1,3
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"STM32F4Eval\\\"
3 UCMODEL=stm32f4
@@ -0,0 +1,12
1 TEMPLATE = app
2 CONFIG += console
3 CONFIG -= qt
4
5 BSP=M4StickV2
6
7 include($$(libuc2)/bsp/cfg/$${BSP}/bsp.pri)
8 #include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
9
10 SOURCES += \
11 main.c
12
@@ -0,0 +1,42
1 #include <stdio.h>
2 #include <gpio.h>
3 #include <uart.h>
4 #include <stm32f4xx.h>
5 #include <bsp.h>
6 #include <core.h>
7 #include <spi.h>
8
9 void ads1278readOut(spi_t spidev,int32_t* data)
10 {
11 gpioset(ADC_FSYNC);
12 delay_100us(1);
13 gpioclr(ADC_FSYNC);
14 for(int i=0;i<8;i++)
15 {
16 data[i]=spigetw(spidev)<<16;
17 data[i]+=spigetw(spidev)<<8;
18 data[i]+=spigetw(spidev);
19 if((data[i]&(1<<23)))data[i]-=(1<<24);
20 }
21
22 }
23
24 void pushData(int32_t* data)
25 {
26 printf("%d;%d;%d\n\r",(int)data[0],(int)data[1],(int)data[2]);
27 }
28
29
30 int main()
31 {
32 int32_t data[8];
33
34 while(1)
35 {
36 ads1278readOut(spi1,data);
37 gpioclr(LED2);
38 delay_100us(1000);
39 pushData(data);
40 gpioset(LED2);
41 }
42 }
@@ -0,0 +1,12
1 TEMPLATE = app
2 CONFIG += console
3 CONFIG -= qt
4
5 BSP = STM32F4Eval
6 #BSP = SOLAR_LFR_PSU
7 include($$(libuc2)/bsp/cfg/$$BSP/bsp.pri)
8 #include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
9
10 SOURCES += \
11 main.c
12
@@ -0,0 +1,92
1 #include <stdio.h>
2 #include <fat32.h>
3 #include <gpio.h>
4 #include <uart.h>
5 #include <stm32f4xx.h>
6 #include <math.h>
7 #include <bsp.h>
8 #include <i2c.h>
9 #include <CS43L22.h>
10 #include <ina226.h>
11 #include <fonts.h>
12 #include <stdlib.h>
13 #include <core.h>
14
15
16 extern streamdevice* __opnfiles__[];
17
18 #define LCD_COLOR_WHITE 0xFFFF
19 #define LCD_COLOR_BLACK 0x0000
20 #define LCD_COLOR_GREY 0xF7DE
21 #define LCD_COLOR_BLUE 0x001F
22 #define LCD_COLOR_BLUE2 0x051F
23 #define LCD_COLOR_RED 0xF800
24 #define LCD_COLOR_MAGENTA 0xF81F
25 #define LCD_COLOR_GREEN 0x07E0
26 #define LCD_COLOR_CYAN 0x7FFF
27 #define LCD_COLOR_YELLOW 0xFFE0
28
29
30 void monkDemo()
31 {
32 while(1)
33 {
34 lcd0.paintText(&lcd0," ",10,Monk_24.Height+10,&Monk_24,LCD_COLOR_BLACK);
35 lcd0.paintText(&lcd0," ",230-Monk_24.Width,310,&Monk_24,LCD_COLOR_BLUE);
36 for(volatile int i=0;i<(1024*1024*16);i++);
37 lcd0.paintFilRect(&lcd0,0,0,240,320,LCD_COLOR_WHITE,1,LCD_COLOR_WHITE);
38 for(volatile int i=0;i<(1024*1024*4);i++);
39 }
40 }
41
42
43 void randBoxesDemo()
44 {
45 int16_t x,y,w,h,t,r;
46 x=rand()%240;
47 y=rand()%320;
48 w=rand()%(240-x);
49 if(x>y)
50 r=(rand()%(y))%(320-y);
51 else
52 r=(rand()%(x))%(240-x);
53 h=rand()%(320-y);
54 t=rand()%(10);
55 //ili9328paintFilRect(&lcd0,x,y,w,h,rand(),t,rand());
56 ili9328paintFilCircMidPoint(&lcd0,x,y,r,rand(),t,rand());
57 }
58
59 int main()
60 {
61 //volatile int16_t* regtest=(volatile int16_t*) 0x80000000;
62 //volatile int16_t* regtest2=(volatile int16_t*)(0x80000001);
63 //*regtest=(int16_t)0;
64 //printf("LCD ID=%x\n\r",0xFFFF&(*regtest2));
65 printf("Sys Tick=%d\n\r",SysTick->VAL);
66 printf("Sys Tick=%d\n\r",SysTick->VAL);
67 printf("Sys Tick=%d\n\r",SysTick->VAL);
68 printf("Sys Tick=%d\n\r",SysTick->VAL);
69 ili9328paintFilRect(&lcd0,0,0,240,320,LCD_COLOR_BLACK,1,LCD_COLOR_WHITE);
70 // while(1)randBoxesDemo();//monkDemo();
71 ili9328paintFilCircMidPoint(&lcd0,120,160,100,LCD_COLOR_BLUE2,10,LCD_COLOR_GREEN);
72 while(1)
73 {
74 delay_100us(5000);
75 gpioset(LED1);
76 gpioclr(LED2);
77 delay_100us(5000);
78 gpioclr(LED1);
79 gpioset(LED2);
80 }
81 printf("hello world\n\r");
82 return 0;
83 }
84
85
86
87
88
89
90
91
92
@@ -0,0 +1,57
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef B24LC0X_H
23 #define B24LC0X_H
24
25 #include "iic.h"
26 #include <uhandle.h>
27
28 struct eeprom24LC0X_str
29 {
30 i2cDev iicdev;
31 unsigned char devAddress;
32 unsigned char size;
33 };
34
35 typedef struct eeprom24LC0X_str eeprom24lc0xDev;
36
37
38 extern void eeprom24lc0xopen(eeprom24lc0xDev* dev,i2cDev iicdev,unsigned char A0_A1_A2_val,unsigned int size);
39
40 extern void eeprom24lc0xpagewrite(eeprom24lc0xDev dev,unsigned char address,unsigned char* page);
41 extern void eeprom24lc0xpageread(eeprom24lc0xDev dev,unsigned char address,unsigned char* page);
42 extern void eeprom24lc0xbytewrite(eeprom24lc0xDev dev,unsigned char address,unsigned char data);
43 extern unsigned char eeprom24lc0xbyteread(eeprom24lc0xDev dev,unsigned char address);
44 extern void eeprom24lc0xreadn(eeprom24lc0xDev dev,unsigned char address,unsigned char* data, unsigned int count);
45 extern void eeprom24lc0xwriten(eeprom24lc0xDev dev,unsigned char address,unsigned char* data, unsigned int count);
46
47
48
49
50 #endif
51
52
53
54
55
56
57
@@ -0,0 +1,87
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef CS43L22_H
23 #define CS43L22_H
24
25 #include <i2c.h>
26 #include <uhandle.h>
27
28 typedef struct CS43L22_t
29 {
30 i2c_t i2cdev;
31 uint8_t devAddress;
32 }CS43L22_t;
33
34 extern int cs43l22open(CS43L22_t* dev,i2c_t i2cdev,uint8_t A0);
35 extern uint8_t cs43l22getID(CS43L22_t* dev);
36
37 #define CS43L22_I2C_ADDRESS 0x4a
38
39
40 #define CS43L22_MAP_ID 1
41 #define CS43L22_MAP_Power_Ctl_1 2
42 #define CS43L22_MAP_Power_Ctl_2 4
43 #define CS43L22_MAP_Clocking_Ctl 5
44 #define CS43L22_MAP_Interface_Ctl_1 6
45 #define CS43L22_MAP_Interface_Ctl_2 7
46 #define CS43L22_MAP_Passthrough_A 8
47 #define CS43L22_MAP_Passthrough_B 9
48 #define CS43L22_MAP_Analog_ZC_SR 0xA
49 #define CS43L22_MAP_Passthrough 0xC
50 #define CS43L22_MAP_Playback_Ctl_1 0xD
51 #define CS43L22_MAP_Misc_Ctl 0xE
52 #define CS43L22_MAP_Playback_Ctl_2 0xF
53 #define CS43L22_MAP_Passthrough_A_Vol 0x14
54 #define CS43L22_MAP_Passthrough_B_Vol 0x15
55 #define CS43L22_MAP_PCMA_Vol 0x1A
56 #define CS43L22_MAP_PCMB_Vol 0x1B
57 #define CS43L22_MAP_BEEP_Freq 0x1C
58 #define CS43L22_MAP_BEEP_Vol 0x1d
59 #define CS43L22_MAP_BEEP_Tone_Cfg 0x1E
60 #define CS43L22_MAP_Tone_Ctl 0x1F
61 #define CS43L22_MAP_Master_A_Vol 0x20
62 #define CS43L22_MAP_Master_B_Vol 0x21
63 #define CS43L22_MAP_Headphone_A_Vol 0x22
64 #define CS43L22_MAP_Headphone_B_Vol 0x23
65 #define CS43L22_MAP_Speaker_A_Vol 0x24
66 #define CS43L22_MAP_Speaker_B_Vol 0x25
67 #define CS43L22_MAP_Channel_Mixer 0x26
68 #define CS43L22_MAP_Limit_Ctl_1 0x27
69 #define CS43L22_MAP_Limit Ctl_2 0x28
70 #define CS43L22_MAP_Limiter_Attack 0x29
71 #define CS43L22_MAP_Overflow_And_Clock_Status 0x2E
72 #define CS43L22_MAP_Battery_Compensation 0x2F
73 #define CS43L22_MAP_VP_Battery_Level 0x30
74 #define CS43L22_MAP_Speaker_Status 0x31
75 #define CS43L22_MAP_Temperature_Monitor_Control 0x32
76 #define CS43L22_MAP_Thermal_Foldback 0x33
77 #define CS43L22_MAP_Charge_Pump_Frequency 0x34
78
79
80 #endif
81
82
83
84
85
86
87
@@ -0,0 +1,57
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef GENERICLCD_CONTROLER_H
23 #define GENERICLCD_CONTROLER_H
24
25 #include <uhandle.h>
26 #include <stdint.h>
27 #include <fonts.h>
28
29
30 typedef struct LCD_IF_t
31 {
32 int (*init)();
33 void (*writereg)(uint32_t reg,uint32_t data);
34 uint32_t (*readreg)(uint32_t reg);
35 void (*writeGRAM)(void* buffer,uint32_t count);
36 void (*readGRAM)(void* buffer,uint32_t count);
37 }LCD_IF_t;
38
39 typedef struct LCD_t
40 {
41 LCD_IF_t* interface;
42 int (*init)(struct LCD_t* LCD);
43 void (*paint)(struct LCD_t* LCD,void* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height);
44 void (*paintText)(struct LCD_t* LCD,char* buffer,uint16_t Xpos,uint16_t Ypos,sFONT *font,uint32_t color);
45 void (*paintFilRect)(struct LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t w,uint16_t h,uint32_t contColor,uint16_t contSz,uint32_t fillColor);
46 void (*refreshenable)(struct LCD_t* LCD,int enable);
47 uint16_t width;
48 uint16_t height;
49 }LCD_t;
50
51
52 #endif /*GENERICLCD_CONTROLER_H*/
53
54
55
56
57
@@ -0,0 +1,97
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef ILI9328_H
23 #define ILI9328_H
24
25 #include <uhandle.h>
26 #include <genericLCD_Controler.h>
27 #include <stdint.h>
28 #include <fonts.h>
29
30 extern int ili9328init(struct LCD_t* LCD);
31 extern void ili9328setFrame(LCD_t* LCD,uint16_t X,uint16_t Y,uint16_t W,uint16_t H);
32 extern void ili9328setGRAMaddress(LCD_t* LCD,uint16_t Haddress,uint16_t Vaddress);
33 extern void ili9328paint(LCD_t* LCD,void* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height);
34 extern void ili9328paintText(LCD_t* LCD,char* buffer,uint16_t Xpos,uint16_t Ypos,sFONT *font,uint32_t color);
35 extern void ili9328paintFilRect(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t w,uint16_t h,uint32_t contColor,uint16_t contSz,uint32_t fillColor);
36 extern void ili9328paintFilCirc(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t r,uint32_t contColor,uint16_t contSz,uint32_t fillColor);
37 extern void ili9328paintFilCircMidPoint(LCD_t* LCD,uint16_t Xpos,uint16_t Ypos,uint16_t r,uint32_t contColor,uint16_t contSz,uint32_t fillColor);
38 extern void ili9328refreshenable(struct LCD_t* LCD,int enable);
39
40 #define ILI9328_REGISTER_DRIVERCODEREAD ((uint32_t) 0x0000 )
41 #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL1 ((uint32_t) 0x0001 )
42 #define ILI9328_REGISTER_LCDDRIVINGCONTROL ((uint32_t) 0x0002 )
43 #define ILI9328_REGISTER_ENTRYMODE ((uint32_t) 0x0003 )
44 #define ILI9328_REGISTER_RESIZECONTROL ((uint32_t) 0x0004 )
45 #define ILI9328_REGISTER_DISPLAYCONTROL1 ((uint32_t) 0x0007 )
46 #define ILI9328_REGISTER_DISPLAYCONTROL2 ((uint32_t) 0x0008 )
47 #define ILI9328_REGISTER_DISPLAYCONTROL3 ((uint32_t) 0x0009 )
48 #define ILI9328_REGISTER_DISPLAYCONTROL4 ((uint32_t) 0x000A )
49 #define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL1 ((uint32_t) 0x000C )
50 #define ILI9328_REGISTER_FRAMEMAKERPOSITION ((uint32_t) 0x000D )
51 #define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL2 ((uint32_t) 0x000F )
52 #define ILI9328_REGISTER_POWERCONTROL1 ((uint32_t) 0x0010 )
53 #define ILI9328_REGISTER_POWERCONTROL2 ((uint32_t) 0x0011 )
54 #define ILI9328_REGISTER_POWERCONTROL3 ((uint32_t) 0x0012 )
55 #define ILI9328_REGISTER_POWERCONTROL4 ((uint32_t) 0x0013 )
56 #define ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET ((uint32_t) 0x0020 )
57 #define ILI9328_REGISTER_VERTICALGRAMADDRESSSET ((uint32_t) 0x0021 )
58 #define ILI9328_REGISTER_WRITEDATATOGRAM ((uint32_t) 0x0022 )
59 #define ILI9328_REGISTER_POWERCONTROL7 ((uint32_t) 0x0029 )
60 #define ILI9328_REGISTER_FRAMERATEANDCOLORCONTROL ((uint32_t) 0x002B )
61 #define ILI9328_REGISTER_GAMMACONTROL1 ((uint32_t) 0x0030 )
62 #define ILI9328_REGISTER_GAMMACONTROL2 ((uint32_t) 0x0031 )
63 #define ILI9328_REGISTER_GAMMACONTROL3 ((uint32_t) 0x0032 )
64 #define ILI9328_REGISTER_GAMMACONTROL4 ((uint32_t) 0x0035 )
65 #define ILI9328_REGISTER_GAMMACONTROL5 ((uint32_t) 0x0036 )
66 #define ILI9328_REGISTER_GAMMACONTROL6 ((uint32_t) 0x0037 )
67 #define ILI9328_REGISTER_GAMMACONTROL7 ((uint32_t) 0x0038 )
68 #define ILI9328_REGISTER_GAMMACONTROL8 ((uint32_t) 0x0039 )
69 #define ILI9328_REGISTER_GAMMACONTROL9 ((uint32_t) 0x003C )
70 #define ILI9328_REGISTER_GAMMACONTROL10 ((uint32_t) 0x003D )
71 #define ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION ((uint32_t) 0x0050 )
72 #define ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION ((uint32_t) 0x0051 )
73 #define ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION ((uint32_t) 0x0052 )
74 #define ILI9328_REGISTER_VERTICALADDRESSENDPOSITION ((uint32_t) 0x0053 )
75 #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL2 ((uint32_t) 0x0060 )
76 #define ILI9328_REGISTER_BASEIMAGEDISPLAYCONTROL ((uint32_t) 0x0061 )
77 #define ILI9328_REGISTER_VERTICALSCROLLCONTROL ((uint32_t) 0x006A )
78 #define ILI9328_REGISTER_PARTIALIMAGE1DISPLAYPOSITION ((uint32_t) 0x0080 )
79 #define ILI9328_REGISTER_PARTIALIMAGE1AREASTARTLINE ((uint32_t) 0x0081 )
80 #define ILI9328_REGISTER_PARTIALIMAGE1AREAENDLINE ((uint32_t) 0x0082 )
81 #define ILI9328_REGISTER_PARTIALIMAGE2DISPLAYPOSITION ((uint32_t) 0x0083 )
82 #define ILI9328_REGISTER_PARTIALIMAGE2AREASTARTLINE ((uint32_t) 0x0084 )
83 #define ILI9328_REGISTER_PARTIALIMAGE2AREAENDLINE ((uint32_t) 0x0085 )
84 #define ILI9328_REGISTER_PANELINTERFACECONTROL1 ((uint32_t) 0x0090 )
85 #define ILI9328_REGISTER_PANELINTERFACECONTROL2 ((uint32_t) 0x0092 )
86 #define ILI9328_REGISTER_PANELINTERFACECONTROL4 ((uint32_t) 0x0095 )
87 #define ILI9328_REGISTER_OTPVCMPROGRAMMINGCONTROL ((uint32_t) 0x00A1 )
88 #define ILI9328_REGISTER_OTPVCMSTATUSANDENABLE ((uint32_t) 0x00A2 )
89 #define ILI9328_REGISTER_OTPPROGRAMMINGIDKEY ((uint32_t) 0x00A5 )
90
91
92 #endif
93
94
95
96
97
@@ -0,0 +1,57
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef FONTS_H
23 #define FONTS_H
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 #include <stdint.h>
30
31
32 typedef struct _tFont
33 {
34 const uint8_t *table;
35 uint16_t Width;
36 uint16_t Height;
37 uint8_t bytesPerLine;
38
39 } sFONT;
40
41 extern sFONT ComicSansMS_24;
42 extern sFONT ComicSansMS_18;
43 extern sFONT Monk_24;
44
45 #ifdef __cplusplus
46 }
47 #endif
48
49 #endif
50
51
52
53
54
55
56
57
@@ -0,0 +1,26
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef TERMINAL_H
23 #define TERMINAL_H
24 #include <widget.h>
25
26 #endif
@@ -0,0 +1,42
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef WIDGET_H
23 #define WIDGET_H
24 #include <widget.h>
25
26 typedef struct widget
27 {
28 uint16_t Width;
29 uint16_t Height;
30 uint16_t Xpos;
31 uint16_t Ypos;
32 void (*paint)();
33 } widget;
34
35
36
37
38
39
40 #endif
41
42
@@ -0,0 +1,139
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 /*
23 */
24
25 #ifndef ADC_H
26 #define ADC_H
27 #include <stdint.h>
28 #include <uhandle.h>
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34
35 typedef struct adc_t
36 {
37 void* _dev;
38 int cfg;
39 int rate;
40 }adc_t;
41
42
43 typedef enum
44 {
45 adc6bits = 0x1,
46 adc7bits = 0x2,
47 adc8bits = 0x3,
48 adc9bits = 0x4,
49 adc10bits = 0x5,
50 adc11bits = 0x6,
51 adc12bits = 0x7,
52 adc13bits = 0x8,
53 adc14bits = 0x9,
54 adc15bits = 0xA,
55 adc16bits = 0xB,
56 adc17bits = 0xC,
57 adc18bits = 0xD,
58 adc19bits = 0xE,
59 adc20bits = 0xF,
60 adc21bits = 0x10,
61 adc22bits = 0x11,
62 adc23bits = 0x12,
63 adc24bits = 0x13
64 }adcbits_t;
65
66 #define ADCBITSMASK 0xF
67
68 typedef enum
69 {
70 adcsingle = 0x00,
71 adcmaster = 0x10
72 }adcconvmode_t;
73
74 #define ADCCONVMODEMASK 0x10
75
76 typedef enum
77 {
78 spiclkinhlow = 0x00,
79 spiclkinhhigh = 0x20
80 }spiclkinhlvl_t;
81
82 #define SPICLKINHLVLMASK 0x20
83
84
85 typedef enum
86 {
87 spiclkfirstedge = 0x00,
88 spiclksecondedge = 0x40
89 }spiclkphase_t;
90
91 #define SPICLKPHASEMASK 0x40
92
93 typedef enum
94 {
95 spimsbfirst = 0x00,
96 spilsbfirst = 0x80
97 }spibitorder_t;
98
99 #define SPIBITORDERMASK 0x80
100
101
102 extern int spiopen(int count,spi_t* spidev);
103 extern int spiopenandconfig(int count,spi_t* spidev,uint32_t cfg,uint32_t speed,uint32_t MOSIpin,uint32_t MISOpin,uint32_t SCKpin,uint32_t SCSpin);
104 extern int spiclose(spi_t* spidev);
105 extern int spisetpins(spi_t* spidev,uint32_t MOSIpin,uint32_t MISOpin,uint32_t SCKpin,uint32_t SCSpin);
106 extern int spienable(spi_t* spidev);
107 extern int spidisable(spi_t* spidev);
108 extern int spisetconfig(spi_t* spidev);
109 extern int spisetspeed(spi_t* spidev, uint32_t speed);
110 extern int spisetbitorder(spi_t* spidev,spibitorder_t order);
111 extern int spisetdatabits(spi_t* spidev,spibits_t bitscnt);
112 extern int spisetclkinhlevel(spi_t* spidev,spiclkinhlvl_t level);
113 extern int spisetclkphase(spi_t* spidev,spiclkphase_t phase);
114 extern int spiputw(spi_t* spidev,uint16_t data);
115 extern uint16_t spigetw(spi_t* spidev);
116 extern int spiputs(spi_t* spidev,char* s);
117 extern int spigets(spi_t* spidev,char* s);
118 extern int spiputnw(spi_t* spidev,uint16_t* w,int n);
119 extern int spigetnw(spi_t* spidev,uint16_t* w,int n);
120 extern int spiputnc(spi_t* spidev,char* c,int n);
121 extern int spigetnc(spi_t* spidev,char* c,int n);
122 extern int spiavailiabledata(spi_t* spidev);
123
124 #ifdef __cplusplus
125 }
126 #endif
127 #endif //ADC_H
128
129
130
131
132
133
134
135
136
137
138
139
@@ -0,0 +1,72
1 /*------------------------------------------------------------------------------
2 #-- This file is a part of the libuc, microcontroler library
3 #-- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 #-- Mail : alexis.jeandet@gmail.com
21 #-------------------------------------------------------------------------------*/
22 #ifndef ADS1278_H
23 #define ADS1278_H
24 #include <uhandle.h>
25
26 typedef void (*set_clkdiv_t)(int val);
27 typedef void (*set_sync_t)(int val);
28 typedef void (*set_mode0_t)(int val);
29 typedef void (*set_mode1_t)(int val);
30 typedef void (*set_fsync_t)(int val);
31 typedef int (*ready_t)();
32
33 struct ads1278Regs
34 {
35 sspDev SSP_device;
36 set_clkdiv_t set_clkdiv;
37 set_sync_t set_sync;
38 set_mode0_t set_mode0;
39 set_mode1_t set_mode1;
40 set_fsync_t set_fsync;
41 ready_t ready;
42 };
43
44 typedef struct ads1278Regs ads1278Dev;
45
46 void ads1278open(ads1278Dev* codec,sspDev dev);
47 void ads1278sample(ads1278Dev* dev);
48 void ads1278readresult(ads1278Dev* dev,unsigned int* CH1,unsigned int* CH2,unsigned int* CH3,unsigned int* CH4,unsigned int* CH5,unsigned int* CH6,unsigned int* CH7,unsigned int* CH8);
49
50 extern void bsp_ads1278_Sample();
51 extern int bsp_ads1278_Ready();
52 extern void bsp_ads1278_Synch();
53
54 #endif
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
@@ -0,0 +1,128
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef BLKDEVICE_H
23 #define BLKDEVICE_H
24 #include <uhandle.h>
25 /* Disk Status Bits (DSTATUS) */
26
27 #define STA_NOINIT 0x01 /* Drive not initialized */
28 #define STA_NODISK 0x02 /* No medium in the drive */
29 #define STA_PROTECT 0x04 /* Write protected */
30
31
32 /* Command code for disk_ioctrl fucntion */
33 /* Generic ioctl command (defined for FatFs) */
34 #define CTRL_SYNC 0 /* Flush disk cache (for write functions) */
35 #define GET_SECTOR_COUNT 1 /* Get media size (for only f_mkfs()) */
36 #define GET_SECTOR_SIZE 2 /* Get sector size (for multiple sector size (_MAX_SS >= 1024)) */
37 #define GET_BLOCK_SIZE 3 /* Get erase block size (for only f_mkfs()) */
38 #define CTRL_ERASE_SECTOR 4 /* Force erased a block of sectors (for only _USE_ERASE) */
39
40 /* Generic ioctl command */
41 #define CTRL_POWER 5 /* Get/Set power status */
42 #define CTRL_LOCK 6 /* Lock/Unlock media removal */
43 #define CTRL_EJECT 7 /* Eject media */
44
45 /* MMC/SDC specific ioctl command */
46 #define MMC_GET_TYPE 10 /* Get card type */
47 #define MMC_GET_CSD 11 /* Get CSD */
48 #define MMC_GET_CID 12 /* Get CID */
49 #define MMC_GET_OCR 13 /* Get OCR */
50 #define MMC_GET_SDSTAT 14 /* Get SD status */
51
52 /* ATA/CF specific ioctl command */
53 #define ATA_GET_REV 20 /* Get F/W revision */
54 #define ATA_GET_MODEL 21 /* Get model name */
55 #define ATA_GET_SN 22 /* Get serial number */
56
57 /* NAND specific ioctl command */
58 #define NAND_FORMAT 30 /* Create physical format */
59
60 /* Status of Disk Functions */
61 typedef unsigned char DSTATUS;
62
63 /* Results of Disk Functions */
64 typedef enum {
65 RES_OK = 0, /* 0: Successful */
66 RES_ERROR, /* 1: R/W Error */
67 RES_WRPRT, /* 2: Write Protected */
68 RES_NOTRDY, /* 3: Not Ready */
69 RES_PARERR /* 4: Invalid Parameter */
70 } DRESULT;
71
72 typedef volatile struct blkdevice* blkdeviceptr;
73
74 typedef void (*blkdevselect_t)(char) ;
75 typedef void (*blkdevpower_t)(char) ;
76 typedef char (*blkdevdetect_t)() ;
77 typedef char (*blkdevwriteprotected_t)() ;
78 typedef DRESULT (*blkdevwrite_t)(blkdeviceptr _this,const char *buff,unsigned long sector,char count) ;
79 typedef DRESULT (*blkdevread_t)(blkdeviceptr _this,char *buff,unsigned long sector,char count) ;
80 typedef DRESULT (*blkdevioctl_t)(blkdeviceptr _this,char ctrl,void *buff) ;
81 typedef DSTATUS (*blkdevinitialize_t)(blkdeviceptr _this) ;
82 typedef DSTATUS (*blkdevstatus_t) (blkdeviceptr _this) ;
83
84 typedef struct blkdevice
85 {
86 UHANDLE phy;
87 unsigned int size;
88 unsigned int MaxSpeed;
89 unsigned char Version;
90 blkdevselect_t select;
91 blkdevpower_t power;
92 blkdevdetect_t detect;
93 blkdevwriteprotected_t writeprotected;
94 blkdevwrite_t write;
95 blkdevread_t read;
96 blkdevioctl_t ioctl;
97 blkdevinitialize_t initialize;
98 blkdevstatus_t status;
99 }blkdevice;
100
101
102
103
104
105
106 #endif
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
@@ -0,0 +1,56
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #include <stdint.h>
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 extern volatile uint32_t tickCounter;
27 extern uint32_t getAPB1Freq();
28 extern uint32_t getAPB2Freq();
29 extern uint32_t getCpuFreq();
30 extern int setCpuFreq(uint32_t freq);
31 extern int optimizePLLcfg(uint32_t freq, uint32_t srcfreq,uint32_t PLLM,uint32_t* PLLP, uint32_t* PLLN,uint8_t* AHBPRindx);
32 extern int setPll(uint32_t freq);
33 extern void enable_FPU();
34 extern void reset_AHB1();
35 extern void reset_AHB2();
36 extern void reset_APB1();
37 extern void reset_APB2();
38 extern void configureSysTick();
39 extern void delay_100us(uint32_t value);
40 extern void SysTick_Handler(void);
41
42 #ifdef __cplusplus
43 }
44 #endif
45
46
47
48
49
50
51
52
53
54
55
56
@@ -0,0 +1,176
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef FAT32_H
23 #define FAT32_H
24 #include <mbr.h>
25 #include <libucfs.h>
26 #include <ucdirent.h>
27 #include <stdint.h>
28 #include <stdint-gcc.h>
29 /*BPB (Boot Sector) Offsets */
30
31 #define BS_jmpBootoff 0
32 #define BS_OEMNameoff 3
33 #define BPB_BytsPerSecoff 11
34 #define BPB_SecPerClusoff 13
35 #define BPB_RsvdSecCntoff 14
36 #define BPB_NumFATsoff 16
37 #define BPB_RootEntCntoff 17
38 #define BPB_TotSec16off 19
39 #define BPB_Mediaoff 21
40 #define BPB_FATSz16off 22
41 #define BPB_SecPerTrkoff 24
42 #define BPB_NumHeadsoff 26
43 #define BPB_HiddSecoff 28
44 #define BPB_TotSec32off 32
45 /*FAT16*/
46 #define BS_DrvNumFAT16off 36
47 #define BS_Reserved1FAT16off 37
48 #define BS_BootSigFAT16off 38
49 #define BS_VolIDFAT16off 39
50 #define BS_VolLabFAT16off 43
51 #define BS_FilSysTypeFAT16off 54
52 /*FAT32*/
53 #define BPB_FATSz32off 36
54 #define BPB_ExtFlagsoff 40
55 #define BPB_FSVeroff 42
56 #define BPB_RootClusoff 44
57 #define BPB_FSInfooff 48
58 #define BPB_BkBootSecoff 50
59 #define BPB_Reservedoff 52
60 #define BS_DrvNumFAT32off 64
61 #define BS_Reserved1FAT32off 65
62 #define BS_BootSigFAT32off 66
63 #define BS_VolIDFAT32off 67
64 #define BS_VolLabFAT32off 71
65 #define BS_FilSysTypeFAT32off 82
66
67
68 #define DIR_Nameoff 0
69 #define DIR_Attroff 0xb
70 #define DIR_FstClusHIoff 0x14
71 #define DIR_FstClusLOoff 0x1A
72 #define DIR_FileSizeoff 0x1c
73 #define DIR_CrtTimeTenthoff 13
74 #define DIR_CrtTimeoff 14
75 #define DIR_CrtDateoff 16
76 #define DIR_LstAccDateoff 18
77 #define DIR_WrtTimeoff 22
78 #define DIR_WrtDateoff 24
79
80
81
82 #define FATBadpart 1
83 #define FATBabArg 2
84 #define FATReadErr 3
85 #define FATnoErr 0
86
87 typedef struct FAT32fs
88 {
89 uint16_t BPB_BytsPerSec;
90 uint16_t BPB_RsvdSecCnt;
91 uint32_t BPB_FATSz32;
92 uint32_t BPB_RootClus;
93 uint32_t fat_begin_lba;
94 uint32_t cluster_begin_lba;
95 uint8_t BPB_SecPerClus;
96 uint8_t BPB_NumFATs;
97 dikpartition* part;
98 }FAT32fs;
99
100
101 #define castUI64(val) ((uint64_t)(val))
102 #define castUI32(val) ((uint32_t)(val))
103 #define castUI16(val) ((uint16_t)(val))
104 #define castUI8(val) ((uint8_t)(val))
105
106 #define castI64(val) ((int64_t)(val))
107 #define castI32(val) ((int32_t)(val))
108 #define castI16(val) ((int16_t)(val))
109 #define castI8(val) ((int8_t)(val))
110
111 #define fat32Ui8_2_Ui32(table,lsBindex) ((uint32_t)((0xFF&(table[lsBindex]))+(0xFF00&(((uint32_t)table[lsBindex+1])<<8))+(0xFF0000&(((uint32_t)table[lsBindex+2])<<16))+(0xFF000000&(((uint32_t)table[lsBindex+3])<<24))))
112 #define fat32Ui8_2_Ui16(table,lsBindex) ((uint16_t)((0xFF&(table[lsBindex]))+(0xFF00&(((uint16_t)table[lsBindex+1])<<8))))
113
114 /* Get the first sector lba of given cluster number*/
115 #define clusterlba(fs,cluster_number) ((uint32_t)fs->cluster_begin_lba + (((uint32_t)cluster_number) - (2)) * (uint32_t)fs->BPB_SecPerClus)
116
117 //#define fat32clusterinfatsect(fs,cluster_number) ((((uint32_t)(cluster_number))>>6) + fs->fat_begin_lba)
118 #define fat32clusterinfatsect(fs,cluster_number) ((((uint32_t)(cluster_number))>>7) + fs->fat_begin_lba)
119 #define fat32clusterinfatoff(cluster_number) (((cluster_number)&0x3F)*4)
120
121 /*Get cluster index in FAT Table from sector address*/
122 #define fat32masksectorlba(sectorlba,fs) (sectorlba & (castUI32(-1)^castUI32(fs->BPB_SecPerClus-1)))
123 #define fat32sectorlbatoclusternum(fs,sectorlba) (((fat32masksectorlba(castUI32(sectorlba),fs) -(castUI32(fs->cluster_begin_lba)))/castUI32(fs->BPB_SecPerClus))+castUI32(2))
124
125 #define fat32extract16b(table, LSBOffset) (uint16_t)(( (uint16_t) ((uint8_t)table[(LSBOffset)]) ) + (uint16_t)( ((uint8_t)table[(LSBOffset)+1]) << 8 ))
126 #define fat32extract32b(table, LSBOffset) (uint32_t)(( (uint32_t) ((uint8_t)table[(LSBOffset)]) ) + (uint32_t)( ((uint8_t)table[(LSBOffset)+1]) << 8 )+ (uint32_t)( ((uint8_t)table[(LSBOffset)+2]) << 16 )+ (uint32_t)( ((uint8_t)table[(LSBOffset)+3]) << 24 ))
127
128 #ifdef FAT32_PRIVATE
129 #define fat32sectorreadout(fs,fatsec) \
130 if((lastSecAddrs!=(fatsec)) || (lastFATFS!=(fs))) /*Check if sector already buffered*/ \
131 {\
132 if((fs)->part->phy->read((fs)->part->phy,fat32buff,(fatsec),1)!=RES_OK) \
133 {\
134 return DIRENT_ReadErr;\
135 }\
136 }\
137 lastSecAddrs=(fatsec);\
138 lastFATFS=(fs);
139 #endif
140
141 extern int fat32open(FAT32fs* fs,dikpartition* part);
142 extern int fat32mkdirent(FAT32fs* fs,ucdirent* dirent);
143 extern int fat32getVolName(FAT32fs* fs,char* Name);
144 extern int fat32getrootfirstent(ucdirent* entry);
145 extern int fat32nextdirent(ucdirent* entry);
146 extern int fat32nextsectorlba(FAT32fs* fs,uint32_t lastsector_lba,uint32_t* nextsector_lba);
147 extern int fat32prevsectorlba(FAT32fs* fs,uint32_t lastsector_lba,uint32_t *nextsector_lba);
148 extern uint32_t fat32getdirentlba(ucdirent* entry);
149 extern int fat32getdirentname(ucdirent* entry,char* nameBuffer);
150
151 #endif
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
This diff has been collapsed as it changes many lines, (557 lines changed) Show them Hide them
@@ -0,0 +1,557
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef GPIO_H
23 #define GPIO_H
24 #include <stdint.h>
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29
30 typedef uint32_t gpio_t;
31
32 typedef enum
33 {
34 gpiolowspeed = 0x00000,
35 gpiomediumspeed = 0x10000,
36 gpiofastspeed = 0x20000,
37 gpiohighspeed = 0x30000
38 }gpiospeed_t;
39
40 #define GPIOSPEEDMASK 0x30000
41
42 typedef enum gpiodir_t
43 {
44 gpioindir = 0x00000,
45 gpiooutdir = 0x40000,
46 gpioaf = 0x80000,
47 gpioan = 0xC0000
48 }gpiodir_t;
49
50 #define GPIODIRMASK 0xC0000
51
52
53 typedef enum
54 {
55 gpiopushpulltype = 0x000000,
56 gpioopendraintype = 0x100000
57 }gpioouttype_t;
58
59 #define GPIOOUTTYPEMASK 0x100000
60
61 typedef enum
62 {
63 gpionopulltype = 0x000000,
64 gpiopulluptype = 0x200000,
65 gpiopulldowntype = 0x400000
66 }gpiopulltype_t;
67
68 #define GPIOPULLTYPEMASK 0x600000
69
70 extern gpio_t gpioopen(uint32_t gpio);
71 extern void gpioclose(gpio_t gpio);
72 extern void gpiosetconfig(gpio_t* gpio);
73 extern void gpiosetdir(gpio_t* gpio,gpiodir_t dir);
74 extern void gpiosetouttype(gpio_t* gpio, gpioouttype_t outtype);
75 extern void gpiosetpulltype(gpio_t* gpio,gpiopulltype_t pulltype);
76 extern void gpiosetspeed(gpio_t* gpio,gpiospeed_t speed);
77 extern void gpioset(gpio_t gpio);
78 extern void gpioclr(gpio_t gpio);
79 extern void gpiosetval(gpio_t gpio,int val);
80 extern int gpiogetval(gpio_t gpio);
81
82 #define GPIOISINPUT(gpio) (((gpio) & GPIODIRMASK)==gpioindir)
83 #define GPIOISOUTPUT(gpio) (((gpio) & GPIOSPEEDMASK)==gpiooutdir)
84
85 #define GPIOISLOWSPEED(gpio) (((gpio) & GPIOSPEEDMASK)==gpiolowspeed)
86 #define GPIOISMEDIUMSPEED(gpio) (((gpio) & GPIOSPEEDMASK)==gpiomediumspeed)
87 #define GPIOISFASTPEED(gpio) (((gpio) & GPIOSPEEDMASK)==gpiofastspeed)
88 #define GPIOISHIGHSPEED(gpio) (((gpio) & GPIOSPEEDMASK)==gpiohighspeeds)
89
90 #define GPIOISPUSHPULL(gpio) (((gpio) & GPIOOUTTYPEMASK)==gpiopushpulltype)
91 #define GPIOISOPENDRAIN(gpio) (((gpio) & GPIOOUTTYPEMASK)==gpioopendraintype)
92
93 #define GPIOISNOPULL(GPIO) (((gpio) & GPIOPULLTYPEMASK)==gpionopulltype)
94 #define GPIOISPULLUP(GPIO) (((gpio) & GPIOPULLTYPEMASK)==gpiopulluptype)
95 #define GPIOISPULLDOWN(GPIO) (((gpio) & GPIOPULLTYPEMASK)==gpiopulldowntype)
96
97
98 #define PA0 ((0<<8)+0)
99 #define PA1 ((0<<8)+1)
100 #define PA2 ((0<<8)+2)
101 #define PA3 ((0<<8)+3)
102 #define PA4 ((0<<8)+4)
103 #define PA5 ((0<<8)+5)
104 #define PA6 ((0<<8)+6)
105 #define PA7 ((0<<8)+7)
106 #define PA8 ((0<<8)+8)
107 #define PA9 ((0<<8)+9)
108 #define PA10 ((0<<8)+10)
109 #define PA11 ((0<<8)+11)
110 #define PA12 ((0<<8)+12)
111 #define PA13 ((0<<8)+13)
112 #define PA14 ((0<<8)+14)
113 #define PA15 ((0<<8)+15)
114 #define PAX ((0<<8)+255)
115 #define PB0 ((1<<8)+0)
116 #define PB1 ((1<<8)+1)
117 #define PB2 ((1<<8)+2)
118 #define PB3 ((1<<8)+3)
119 #define PB4 ((1<<8)+4)
120 #define PB5 ((1<<8)+5)
121 #define PB6 ((1<<8)+6)
122 #define PB7 ((1<<8)+7)
123 #define PB8 ((1<<8)+8)
124 #define PB9 ((1<<8)+9)
125 #define PB10 ((1<<8)+10)
126 #define PB11 ((1<<8)+11)
127 #define PB12 ((1<<8)+12)
128 #define PB13 ((1<<8)+13)
129 #define PB14 ((1<<8)+14)
130 #define PB15 ((1<<8)+15)
131 #define PBX ((1<<8)+255)
132 #define PC0 ((2<<8)+0)
133 #define PC1 ((2<<8)+1)
134 #define PC2 ((2<<8)+2)
135 #define PC3 ((2<<8)+3)
136 #define PC4 ((2<<8)+4)
137 #define PC5 ((2<<8)+5)
138 #define PC6 ((2<<8)+6)
139 #define PC7 ((2<<8)+7)
140 #define PC8 ((2<<8)+8)
141 #define PC9 ((2<<8)+9)
142 #define PC10 ((2<<8)+10)
143 #define PC11 ((2<<8)+11)
144 #define PC12 ((2<<8)+12)
145 #define PC13 ((2<<8)+13)
146 #define PC14 ((2<<8)+14)
147 #define PC15 ((2<<8)+15)
148 #define PCX ((2<<8)+255)
149 #define PD0 ((3<<8)+0)
150 #define PD1 ((3<<8)+1)
151 #define PD2 ((3<<8)+2)
152 #define PD3 ((3<<8)+3)
153 #define PD4 ((3<<8)+4)
154 #define PD5 ((3<<8)+5)
155 #define PD6 ((3<<8)+6)
156 #define PD7 ((3<<8)+7)
157 #define PD8 ((3<<8)+8)
158 #define PD9 ((3<<8)+9)
159 #define PD10 ((3<<8)+10)
160 #define PD11 ((3<<8)+11)
161 #define PD12 ((3<<8)+12)
162 #define PD13 ((3<<8)+13)
163 #define PD14 ((3<<8)+14)
164 #define PD15 ((3<<8)+15)
165 #define PDX ((3<<8)+255)
166 #define PE0 ((4<<8)+0)
167 #define PE1 ((4<<8)+1)
168 #define PE2 ((4<<8)+2)
169 #define PE3 ((4<<8)+3)
170 #define PE4 ((4<<8)+4)
171 #define PE5 ((4<<8)+5)
172 #define PE6 ((4<<8)+6)
173 #define PE7 ((4<<8)+7)
174 #define PE8 ((4<<8)+8)
175 #define PE9 ((4<<8)+9)
176 #define PE10 ((4<<8)+10)
177 #define PE11 ((4<<8)+11)
178 #define PE12 ((4<<8)+12)
179 #define PE13 ((4<<8)+13)
180 #define PE14 ((4<<8)+14)
181 #define PE15 ((4<<8)+15)
182 #define PEX ((4<<8)+255)
183 #define PF0 ((5<<8)+0)
184 #define PF1 ((5<<8)+1)
185 #define PF2 ((5<<8)+2)
186 #define PF3 ((5<<8)+3)
187 #define PF4 ((5<<8)+4)
188 #define PF5 ((5<<8)+5)
189 #define PF6 ((5<<8)+6)
190 #define PF7 ((5<<8)+7)
191 #define PF8 ((5<<8)+8)
192 #define PF9 ((5<<8)+9)
193 #define PF10 ((5<<8)+10)
194 #define PF11 ((5<<8)+11)
195 #define PF12 ((5<<8)+12)
196 #define PF13 ((5<<8)+13)
197 #define PF14 ((5<<8)+14)
198 #define PF15 ((5<<8)+15)
199 #define PFX ((5<<8)+255)
200 #define PG0 ((6<<8)+0)
201 #define PG1 ((6<<8)+1)
202 #define PG2 ((6<<8)+2)
203 #define PG3 ((6<<8)+3)
204 #define PG4 ((6<<8)+4)
205 #define PG5 ((6<<8)+5)
206 #define PG6 ((6<<8)+6)
207 #define PG7 ((6<<8)+7)
208 #define PG8 ((6<<8)+8)
209 #define PG9 ((6<<8)+9)
210 #define PG10 ((6<<8)+10)
211 #define PG11 ((6<<8)+11)
212 #define PG12 ((6<<8)+12)
213 #define PG13 ((6<<8)+13)
214 #define PG14 ((6<<8)+14)
215 #define PG15 ((6<<8)+15)
216 #define PGX ((6<<8)+255)
217 #define PH0 ((7<<8)+0)
218 #define PH1 ((7<<8)+1)
219 #define PH2 ((7<<8)+2)
220 #define PH3 ((7<<8)+3)
221 #define PH4 ((7<<8)+4)
222 #define PH5 ((7<<8)+5)
223 #define PH6 ((7<<8)+6)
224 #define PH7 ((7<<8)+7)
225 #define PH8 ((7<<8)+8)
226 #define PH9 ((7<<8)+9)
227 #define PH10 ((7<<8)+10)
228 #define PH11 ((7<<8)+11)
229 #define PH12 ((7<<8)+12)
230 #define PH13 ((7<<8)+13)
231 #define PH14 ((7<<8)+14)
232 #define PH15 ((7<<8)+15)
233 #define PHX ((7<<8)+255)
234 #define PI0 ((8<<8)+0)
235 #define PI1 ((8<<8)+1)
236 #define PI2 ((8<<8)+2)
237 #define PI3 ((8<<8)+3)
238 #define PI4 ((8<<8)+4)
239 #define PI5 ((8<<8)+5)
240 #define PI6 ((8<<8)+6)
241 #define PI7 ((8<<8)+7)
242 #define PI8 ((8<<8)+8)
243 #define PI9 ((8<<8)+9)
244 #define PI10 ((8<<8)+10)
245 #define PI11 ((8<<8)+11)
246 #define PI12 ((8<<8)+12)
247 #define PI13 ((8<<8)+13)
248 #define PI14 ((8<<8)+14)
249 #define PI15 ((8<<8)+15)
250 #define PIX ((8<<8)+255)
251 #define PJ0 ((9<<8)+0)
252 #define PJ1 ((9<<8)+1)
253 #define PJ2 ((9<<8)+2)
254 #define PJ3 ((9<<8)+3)
255 #define PJ4 ((9<<8)+4)
256 #define PJ5 ((9<<8)+5)
257 #define PJ6 ((9<<8)+6)
258 #define PJ7 ((9<<8)+7)
259 #define PJ8 ((9<<8)+8)
260 #define PJ9 ((9<<8)+9)
261 #define PJ10 ((9<<8)+10)
262 #define PJ11 ((9<<8)+11)
263 #define PJ12 ((9<<8)+12)
264 #define PJ13 ((9<<8)+13)
265 #define PJ14 ((9<<8)+14)
266 #define PJ15 ((9<<8)+15)
267 #define PJX ((9<<8)+255)
268 #define PK0 ((10<<8)+0)
269 #define PK1 ((10<<8)+1)
270 #define PK2 ((10<<8)+2)
271 #define PK3 ((10<<8)+3)
272 #define PK4 ((10<<8)+4)
273 #define PK5 ((10<<8)+5)
274 #define PK6 ((10<<8)+6)
275 #define PK7 ((10<<8)+7)
276 #define PK8 ((10<<8)+8)
277 #define PK9 ((10<<8)+9)
278 #define PK10 ((10<<8)+10)
279 #define PK11 ((10<<8)+11)
280 #define PK12 ((10<<8)+12)
281 #define PK13 ((10<<8)+13)
282 #define PK14 ((10<<8)+14)
283 #define PK15 ((10<<8)+15)
284 #define PKX ((10<<8)+255)
285 #define PL0 ((11<<8)+0)
286 #define PL1 ((11<<8)+1)
287 #define PL2 ((11<<8)+2)
288 #define PL3 ((11<<8)+3)
289 #define PL4 ((11<<8)+4)
290 #define PL5 ((11<<8)+5)
291 #define PL6 ((11<<8)+6)
292 #define PL7 ((11<<8)+7)
293 #define PL8 ((11<<8)+8)
294 #define PL9 ((11<<8)+9)
295 #define PL10 ((11<<8)+10)
296 #define PL11 ((11<<8)+11)
297 #define PL12 ((11<<8)+12)
298 #define PL13 ((11<<8)+13)
299 #define PL14 ((11<<8)+14)
300 #define PL15 ((11<<8)+15)
301 #define PLX ((11<<8)+255)
302 #define PM0 ((12<<8)+0)
303 #define PM1 ((12<<8)+1)
304 #define PM2 ((12<<8)+2)
305 #define PM3 ((12<<8)+3)
306 #define PM4 ((12<<8)+4)
307 #define PM5 ((12<<8)+5)
308 #define PM6 ((12<<8)+6)
309 #define PM7 ((12<<8)+7)
310 #define PM8 ((12<<8)+8)
311 #define PM9 ((12<<8)+9)
312 #define PM10 ((12<<8)+10)
313 #define PM11 ((12<<8)+11)
314 #define PM12 ((12<<8)+12)
315 #define PM13 ((12<<8)+13)
316 #define PM14 ((12<<8)+14)
317 #define PM15 ((12<<8)+15)
318 #define PMX ((12<<8)+255)
319 #define PN0 ((13<<8)+0)
320 #define PN1 ((13<<8)+1)
321 #define PN2 ((13<<8)+2)
322 #define PN3 ((13<<8)+3)
323 #define PN4 ((13<<8)+4)
324 #define PN5 ((13<<8)+5)
325 #define PN6 ((13<<8)+6)
326 #define PN7 ((13<<8)+7)
327 #define PN8 ((13<<8)+8)
328 #define PN9 ((13<<8)+9)
329 #define PN10 ((13<<8)+10)
330 #define PN11 ((13<<8)+11)
331 #define PN12 ((13<<8)+12)
332 #define PN13 ((13<<8)+13)
333 #define PN14 ((13<<8)+14)
334 #define PN15 ((13<<8)+15)
335 #define PNX ((13<<8)+255)
336 #define PO0 ((14<<8)+0)
337 #define PO1 ((14<<8)+1)
338 #define PO2 ((14<<8)+2)
339 #define PO3 ((14<<8)+3)
340 #define PO4 ((14<<8)+4)
341 #define PO5 ((14<<8)+5)
342 #define PO6 ((14<<8)+6)
343 #define PO7 ((14<<8)+7)
344 #define PO8 ((14<<8)+8)
345 #define PO9 ((14<<8)+9)
346 #define PO10 ((14<<8)+10)
347 #define PO11 ((14<<8)+11)
348 #define PO12 ((14<<8)+12)
349 #define PO13 ((14<<8)+13)
350 #define PO14 ((14<<8)+14)
351 #define PO15 ((14<<8)+15)
352 #define POX ((14<<8)+255)
353 #define PP0 ((15<<8)+0)
354 #define PP1 ((15<<8)+1)
355 #define PP2 ((15<<8)+2)
356 #define PP3 ((15<<8)+3)
357 #define PP4 ((15<<8)+4)
358 #define PP5 ((15<<8)+5)
359 #define PP6 ((15<<8)+6)
360 #define PP7 ((15<<8)+7)
361 #define PP8 ((15<<8)+8)
362 #define PP9 ((15<<8)+9)
363 #define PP10 ((15<<8)+10)
364 #define PP11 ((15<<8)+11)
365 #define PP12 ((15<<8)+12)
366 #define PP13 ((15<<8)+13)
367 #define PP14 ((15<<8)+14)
368 #define PP15 ((15<<8)+15)
369 #define PPX ((15<<8)+255)
370 #define PQ0 ((16<<8)+0)
371 #define PQ1 ((16<<8)+1)
372 #define PQ2 ((16<<8)+2)
373 #define PQ3 ((16<<8)+3)
374 #define PQ4 ((16<<8)+4)
375 #define PQ5 ((16<<8)+5)
376 #define PQ6 ((16<<8)+6)
377 #define PQ7 ((16<<8)+7)
378 #define PQ8 ((16<<8)+8)
379 #define PQ9 ((16<<8)+9)
380 #define PQ10 ((16<<8)+10)
381 #define PQ11 ((16<<8)+11)
382 #define PQ12 ((16<<8)+12)
383 #define PQ13 ((16<<8)+13)
384 #define PQ14 ((16<<8)+14)
385 #define PQ15 ((16<<8)+15)
386 #define PQX ((16<<8)+255)
387 #define PR0 ((17<<8)+0)
388 #define PR1 ((17<<8)+1)
389 #define PR2 ((17<<8)+2)
390 #define PR3 ((17<<8)+3)
391 #define PR4 ((17<<8)+4)
392 #define PR5 ((17<<8)+5)
393 #define PR6 ((17<<8)+6)
394 #define PR7 ((17<<8)+7)
395 #define PR8 ((17<<8)+8)
396 #define PR9 ((17<<8)+9)
397 #define PR10 ((17<<8)+10)
398 #define PR11 ((17<<8)+11)
399 #define PR12 ((17<<8)+12)
400 #define PR13 ((17<<8)+13)
401 #define PR14 ((17<<8)+14)
402 #define PR15 ((17<<8)+15)
403 #define PRX ((17<<8)+255)
404 #define PS0 ((18<<8)+0)
405 #define PS1 ((18<<8)+1)
406 #define PS2 ((18<<8)+2)
407 #define PS3 ((18<<8)+3)
408 #define PS4 ((18<<8)+4)
409 #define PS5 ((18<<8)+5)
410 #define PS6 ((18<<8)+6)
411 #define PS7 ((18<<8)+7)
412 #define PS8 ((18<<8)+8)
413 #define PS9 ((18<<8)+9)
414 #define PS10 ((18<<8)+10)
415 #define PS11 ((18<<8)+11)
416 #define PS12 ((18<<8)+12)
417 #define PS13 ((18<<8)+13)
418 #define PS14 ((18<<8)+14)
419 #define PS15 ((18<<8)+15)
420 #define PSX ((18<<8)+255)
421 #define PT0 ((19<<8)+0)
422 #define PT1 ((19<<8)+1)
423 #define PT2 ((19<<8)+2)
424 #define PT3 ((19<<8)+3)
425 #define PT4 ((19<<8)+4)
426 #define PT5 ((19<<8)+5)
427 #define PT6 ((19<<8)+6)
428 #define PT7 ((19<<8)+7)
429 #define PT8 ((19<<8)+8)
430 #define PT9 ((19<<8)+9)
431 #define PT10 ((19<<8)+10)
432 #define PT11 ((19<<8)+11)
433 #define PT12 ((19<<8)+12)
434 #define PT13 ((19<<8)+13)
435 #define PT14 ((19<<8)+14)
436 #define PT15 ((19<<8)+15)
437 #define PTX ((19<<8)+255)
438 #define PU0 ((20<<8)+0)
439 #define PU1 ((20<<8)+1)
440 #define PU2 ((20<<8)+2)
441 #define PU3 ((20<<8)+3)
442 #define PU4 ((20<<8)+4)
443 #define PU5 ((20<<8)+5)
444 #define PU6 ((20<<8)+6)
445 #define PU7 ((20<<8)+7)
446 #define PU8 ((20<<8)+8)
447 #define PU9 ((20<<8)+9)
448 #define PU10 ((20<<8)+10)
449 #define PU11 ((20<<8)+11)
450 #define PU12 ((20<<8)+12)
451 #define PU13 ((20<<8)+13)
452 #define PU14 ((20<<8)+14)
453 #define PU15 ((20<<8)+15)
454 #define PUX ((20<<8)+255)
455 #define PV0 ((21<<8)+0)
456 #define PV1 ((21<<8)+1)
457 #define PV2 ((21<<8)+2)
458 #define PV3 ((21<<8)+3)
459 #define PV4 ((21<<8)+4)
460 #define PV5 ((21<<8)+5)
461 #define PV6 ((21<<8)+6)
462 #define PV7 ((21<<8)+7)
463 #define PV8 ((21<<8)+8)
464 #define PV9 ((21<<8)+9)
465 #define PV10 ((21<<8)+10)
466 #define PV11 ((21<<8)+11)
467 #define PV12 ((21<<8)+12)
468 #define PV13 ((21<<8)+13)
469 #define PV14 ((21<<8)+14)
470 #define PV15 ((21<<8)+15)
471 #define PVX ((21<<8)+255)
472 #define PW0 ((22<<8)+0)
473 #define PW1 ((22<<8)+1)
474 #define PW2 ((22<<8)+2)
475 #define PW3 ((22<<8)+3)
476 #define PW4 ((22<<8)+4)
477 #define PW5 ((22<<8)+5)
478 #define PW6 ((22<<8)+6)
479 #define PW7 ((22<<8)+7)
480 #define PW8 ((22<<8)+8)
481 #define PW9 ((22<<8)+9)
482 #define PW10 ((22<<8)+10)
483 #define PW11 ((22<<8)+11)
484 #define PW12 ((22<<8)+12)
485 #define PW13 ((22<<8)+13)
486 #define PW14 ((22<<8)+14)
487 #define PW15 ((22<<8)+15)
488 #define PWX ((22<<8)+255)
489 #define PX0 ((23<<8)+0)
490 #define PX1 ((23<<8)+1)
491 #define PX2 ((23<<8)+2)
492 #define PX3 ((23<<8)+3)
493 #define PX4 ((23<<8)+4)
494 #define PX5 ((23<<8)+5)
495 #define PX6 ((23<<8)+6)
496 #define PX7 ((23<<8)+7)
497 #define PX8 ((23<<8)+8)
498 #define PX9 ((23<<8)+9)
499 #define PX10 ((23<<8)+10)
500 #define PX11 ((23<<8)+11)
501 #define PX12 ((23<<8)+12)
502 #define PX13 ((23<<8)+13)
503 #define PX14 ((23<<8)+14)
504 #define PX15 ((23<<8)+15)
505 #define PXX ((23<<8)+255)
506 #define PY0 ((24<<8)+0)
507 #define PY1 ((24<<8)+1)
508 #define PY2 ((24<<8)+2)
509 #define PY3 ((24<<8)+3)
510 #define PY4 ((24<<8)+4)
511 #define PY5 ((24<<8)+5)
512 #define PY6 ((24<<8)+6)
513 #define PY7 ((24<<8)+7)
514 #define PY8 ((24<<8)+8)
515 #define PY9 ((24<<8)+9)
516 #define PY10 ((24<<8)+10)
517 #define PY11 ((24<<8)+11)
518 #define PY12 ((24<<8)+12)
519 #define PY13 ((24<<8)+13)
520 #define PY14 ((24<<8)+14)
521 #define PY15 ((24<<8)+15)
522 #define PYX ((24<<8)+255)
523 #define PZ0 ((25<<8)+0)
524 #define PZ1 ((25<<8)+1)
525 #define PZ2 ((25<<8)+2)
526 #define PZ3 ((25<<8)+3)
527 #define PZ4 ((25<<8)+4)
528 #define PZ5 ((25<<8)+5)
529 #define PZ6 ((25<<8)+6)
530 #define PZ7 ((25<<8)+7)
531 #define PZ8 ((25<<8)+8)
532 #define PZ9 ((25<<8)+9)
533 #define PZ10 ((25<<8)+10)
534 #define PZ11 ((25<<8)+11)
535 #define PZ12 ((25<<8)+12)
536 #define PZ13 ((25<<8)+13)
537 #define PZ14 ((25<<8)+14)
538 #define PZ15 ((25<<8)+15)
539 #define PZX ((25<<8)+255)
540
541
542 #ifdef __cplusplus
543 }
544 #endif
545 #endif //GPIO_H
546
547
548
549
550
551
552
553
554
555
556
557
@@ -0,0 +1,52
1 /*------------------------------------------------------------------------------
2 #-- This file is a part of the libuc, microcontroler library
3 #-- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 #-- Mail : alexis.jeandet@gmail.com
21 #-------------------------------------------------------------------------------*/
22 #ifndef HEXVIEWER_H
23 #define HEXVIEWER_H
24
25 #include <libucstrings.h>
26
27
28
29
30 extern void hexviewershow(const char* table,unsigned int size,unsigned int offset);
31
32
33 #endif
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
@@ -0,0 +1,74
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef I2C_H
23 #define I2C_H
24 #include <stdint.h>
25 #include <uhandle.h>
26 #include <streamdevices.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 typedef int i2c_t;
33
34 #define i2c1 0
35 #define i2c2 1
36 #define i2c3 2
37 #define i2c4 3
38 #define i2c5 4
39 #define i2c6 5
40 #define i2c7 6
41 #define i2c8 7
42 #define i2c9 8
43
44 extern int i2ctimeout;
45
46 extern i2c_t i2copen(int count);
47 extern i2c_t i2copenandconfig(int count ,uint32_t cfg,uint32_t speed,uint32_t SDA,uint32_t SCL);
48 extern int i2cclose(i2c_t dev);
49 extern int i2csetpins(i2c_t dev,uint32_t SDA,uint32_t SCL);
50 extern int i2cenable(i2c_t dev);
51 extern int i2cdisable(i2c_t dev);
52 //extern int i2csetconfig(i2c_t dev);
53 extern int i2csetspeed(i2c_t dev,uint32_t speed);
54 //extern int i2csetdatabits(i2c_t* dev,uartbits_t databits);
55 extern int i2cwrite(i2c_t dev,char address,char* data,int count);
56 extern int i2cread(i2c_t dev,char address,char* data,int count);
57 extern int i2cbusy(i2c_t dev);
58 extern int i2cStatusCheck(i2c_t dev,int32_t flagMask);
59 #ifdef __cplusplus
60 }
61 #endif
62 #endif //I2C_H
63
64
65
66
67
68
69
70
71
72
73
74
@@ -0,0 +1,104
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef INA226_H
23 #define INA226_H
24
25 #include <i2c.h>
26 #include <uhandle.h>
27
28 typedef struct INA226_t
29 {
30 i2c_t i2cdev;
31 uint8_t devAddress;
32 uint32_t shuntmOhm;
33 uint32_t CurrentRangeuAmp;
34 }INA226_t;
35
36 extern int ina226open(INA226_t* dev,i2c_t i2cdev,uint16_t config,uint8_t A0,uint8_t A1,uint32_t shuntmOhm, uint32_t CurrentRangeuAmp);
37 extern uint16_t ina226getID(INA226_t* dev);
38 extern int ina226calibrate(INA226_t* dev,uint32_t shuntmOhm, uint32_t CurrentRangeuAmp);
39 extern uint32_t ina226getBusVoltage(INA226_t* dev);
40 extern uint32_t ina226getPower(INA226_t* dev);
41 extern int32_t ina226getCurrent(INA226_t* dev);
42 extern uint16_t ina226getReg(INA226_t* dev,char reg);
43 extern int ina226setReg(INA226_t* dev,char reg,int16_t value);
44
45
46 #define INA226_I2C_ADDRESS 0x40
47
48
49 #define INA226_Die_ID_Reg 0xFF
50 #define INA226_Configuration_Reg 0
51 #define INA226_Shunt_Voltage_Reg 1
52 #define INA226_Bus_Voltage_Reg 2
53 #define INA226_Power_Reg 3
54 #define INA226_Current_Reg 4
55 #define INA226_Calibration_Reg 5
56 #define INA226_Mask_Enable_Reg 6
57 #define INA226_Alert_Limit_Reg 7
58
59 #define INA226_AVERAGES_1 0
60 #define INA226_AVERAGES_4 (1<<9)
61 #define INA226_AVERAGES_16 (2<<9)
62 #define INA226_AVERAGES_64 (3<<9)
63 #define INA226_AVERAGES_128 (4<<9)
64 #define INA226_AVERAGES_256 (5<<9)
65 #define INA226_AVERAGES_512 (6<<9)
66 #define INA226_AVERAGES_1024 (7<<9)
67
68 #define INA226_BUS_CONV_140us 0
69 #define INA226_BUS_CONV_204us (1<<6)
70 #define INA226_BUS_CONV_332us (2<<6)
71 #define INA226_BUS_CONV_588us (3<<6)
72 #define INA226_BUS_CONV_1100us (4<<6)
73 #define INA226_BUS_CONV_2116us (5<<6)
74 #define INA226_BUS_CONV_4156us (6<<6)
75 #define INA226_BUS_CONV_8244us (7<<6)
76
77 #define INA226_SHUNT_CONV_140us 0
78 #define INA226_SHUNT_CONV_204us (1<<3)
79 #define INA226_SHUNT_CONV_332us (2<<3)
80 #define INA226_SHUNT_CONV_588us (3<<3)
81 #define INA226_SHUNT_CONV_1100us (4<<3)
82 #define INA226_SHUNT_CONV_2116us (5<<3)
83 #define INA226_SHUNT_CONV_4156us (6<<3)
84 #define INA226_SHUNT_CONV_8244us (7<<3)
85
86 #define INA226_MODE_POWER_DOWN 0
87 #define INA226_MODE_SHUNT_VOLTAGE_TRIGGERRED 1
88 #define INA226_MODE_BUS_VOLTAGE_TRIGGERRED 2
89 #define INA226_MODE_SHUNT_AND_BUS_TRIGGERRED 3
90 #define INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS 5
91 #define INA226_MODE_BUS_VOLTAGE_CONTINUOUS 6
92 #define INA226_MODE_SHUNT_AND_BUS_CONTINUOUS 7
93
94
95
96
97 #endif
98
99
100
101
102
103
104
@@ -0,0 +1,78
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef FS_H
23 #define FS_H
24 #include <uhandle.h>
25 #include <blkdevice.h>
26
27 struct fs_str
28 {
29 UHANDLE fat;
30 };
31
32 typedef struct fs_str filesys_t;
33
34
35
36 #endif
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
@@ -0,0 +1,32
1 /*------------------------------------------------------------------------------
2 #-- This file is a part of the libuc, microcontroler library
3 #-- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 #-- Mail : alexis.jeandet@gmail.com
21 #-------------------------------------------------------------------------------*/
22
23 #include <streamdevices.h>
24
25 extern streamdevice* stdo;
26
27 void clearstr(char* a);
28 void int2hex(unsigned long a,char*b);
29 int libucprintf(const char* format,...);
30 int libucfprintf(streamdevice* device,const char* format,...);
31 int libucscanf(const char*,...);
32 void libucprintchartable(char* table,int size,const char* format,const char* separator);
@@ -0,0 +1,71
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef MBR_H
23 #define MBR_H
24 #include <uhandle.h>
25 #include <blkdevice.h>
26
27 #define BootFlagoffset 0
28 #define TypeCodeoffset 4
29 #define LBABeginoffset 8
30 #define NumOfSecoffset 12
31
32 #define MBRBadMbr 1
33 #define MBRBabArg 2
34 #define MBRReadErr 3
35 #define MBRnoErr 0
36
37 #define isFat32(TypeCode) (((TypeCode)==0x0b)||((TypeCode)==0x0c))
38
39 typedef struct dikpartition
40 {
41 char TypeCode;
42 unsigned int LBABegin;
43 unsigned int NumOfSec;
44 blkdevice* phy;
45 }dikpartition;
46
47
48 int mbropen(blkdevice* phy,dikpartition* part,char partNum);
49
50
51 #endif
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
@@ -0,0 +1,118
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef SDCARD_H
23 #define SDCARD_H
24 #include "blkdevice.h"
25 #include <libucstrings.h>
26 #include <uhandle.h>
27
28 /* MMC/SD command */
29 #define CMD0 (0) /* GO_IDLE_STATE */
30 #define CMD1 (1) /* SEND_OP_COND (MMC) */
31 #define ACMD41 (0x80+41) /* SEND_OP_COND (SDC) */
32 #define CMD8 (8) /* SEND_IF_COND */
33 #define CMD9 (9) /* SEND_CSD */
34 #define CMD10 (10) /* SEND_CID */
35 #define CMD12 (12) /* STOP_TRANSMISSION */
36 #define ACMD13 (0x80+13) /* SD_STATUS (SDC) */
37 #define CMD16 (16) /* SET_BLOCKLEN */
38 #define CMD17 (17) /* READ_SINGLE_BLOCK */
39 #define CMD18 (18) /* READ_MULTIPLE_BLOCK */
40 #define CMD23 (23) /* SET_BLOCK_COUNT (MMC) */
41 #define ACMD23 (0x80+23) /* SET_WR_BLK_ERASE_COUNT (SDC) */
42 #define CMD24 (24) /* WRITE_BLOCK */
43 #define CMD25 (25) /* WRITE_MULTIPLE_BLOCK */
44 #define CMD32 (32) /* ERASE_ER_BLK_START */
45 #define CMD33 (33) /* ERASE_ER_BLK_END */
46 #define CMD38 (38) /* ERASE */
47 #define CMD55 (55) /* APP_CMD */
48 #define CMD58 (58) /* READ_OCR */
49
50 /* Card type flags (CardType) */
51 #define CT_MMC 0x01 /* MMC ver 3 */
52 #define CT_SD1 0x02 /* SD ver 1 */
53 #define CT_SD2 0x04 /* SD ver 2 */
54 #define CT_SDC (CT_SD1|CT_SD2) /* SD */
55 #define CT_BLOCK 0x08 /* Block addressing */
56
57 struct sdcard_str
58 {
59 UHANDLE phy;
60 void (*rcvr_mmc) (UHANDLE phy,char *buff,uint32_t bc);
61 void (*xmit_mmc) (UHANDLE phy,const char *buff,uint32_t bc);
62 void (*setspeed) (UHANDLE phy,uint32_t speed);
63 uint32_t (*getspeed) (UHANDLE phy);
64 DSTATUS Stat;
65 char CardType;
66 };
67
68 typedef volatile struct sdcard_str sdcardDev;
69
70 extern void sdcardmake(sdcardDev* sdcard,UHANDLE phy,void (*rcvr_mmc) (UHANDLE,char *,uint32_t ),void (*xmit_mmc) (UHANDLE,const char *,uint32_t ),void (*setspeed) (UHANDLE phy,uint32_t speed),uint32_t (*getspeed) (UHANDLE phy));
71 extern void sdcardmakeblkdev(blkdevice* dev,sdcardDev* sdcard, blkdevselect_t select,blkdevpower_t power,blkdevdetect_t detect,blkdevwriteprotected_t writeprotected);
72
73 extern int sdcardselect (blkdeviceptr _this);
74 extern void sdcarddeselect (blkdeviceptr _this);
75 extern int sdcardwait_ready (sdcardDev* sdcard);
76 extern int sdcardxmit_datablock (sdcardDev* sdcard,const char *buff,char token);
77 extern int sdcardrcvr_datablock (sdcardDev* sdcard,char *buff,uint32_t btr);
78 extern char sdcardsend_cmd (blkdeviceptr _this,char cmd,uint32_t arg);
79
80 extern DSTATUS sdcarddisk_status (blkdeviceptr _this);
81 extern DSTATUS sdcarddisk_initialize (blkdeviceptr _this);
82 extern DRESULT sdcarddisk_read (blkdeviceptr _this,char *buff,uint32_t sector,char count);
83 extern DRESULT sdcarddisk_write (blkdeviceptr _this,const char *buff,uint32_t sector,char count);
84 extern DRESULT sdcarddisk_ioctl (blkdeviceptr _this,char ctrl,void *buff);
85
86 #endif
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
@@ -0,0 +1,148
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 /*
23 TODO:
24 Add SPI slave mode
25 Add interrupt interface
26 */
27
28 #ifndef SPI_H
29 #define SPI_H
30 #include <stdint.h>
31 #include <uhandle.h>
32
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36
37 /*
38 typedef struct spi_t
39 {
40 void* _dev;
41 int cfg;
42 int speed;
43 }spi_t;*/
44
45 typedef int spi_t;
46
47 #define spi1 0
48 #define spi2 1
49 #define spi3 2
50 #define spi4 3
51 #define spi5 4
52 #define spi6 5
53 #define spi7 6
54 #define spi8 7
55 #define spi9 8
56
57
58 typedef enum
59 {
60 spi4bits = 0x3,
61 spi5bits = 0x4,
62 spi6bits = 0x5,
63 spi7bits = 0x6,
64 spi8bits = 0x7,
65 spi9bits = 0x8,
66 spi10bits = 0x9,
67 spi11bits = 0xA,
68 spi12bits = 0xB,
69 spi13bits = 0xC,
70 spi14bits = 0xD,
71 spi15bits = 0xE,
72 spi16bits = 0xF
73 }spibits_t;
74
75 #define SPIBITSMASK 0xF
76
77 typedef enum
78 {
79 spislave = 0x00,
80 spimaster = 0x10
81 }spimode_t;
82
83 #define SPIMODEMASK 0x10
84
85 typedef enum
86 {
87 spiclkinhlow = 0x00,
88 spiclkinhhigh = 0x20
89 }spiclkinhlvl_t;
90
91 #define SPICLKINHLVLMASK 0x20
92
93
94 typedef enum
95 {
96 spiclkfirstedge = 0x00,
97 spiclksecondedge = 0x40
98 }spiclkphase_t;
99
100 #define SPICLKPHASEMASK 0x40
101
102 typedef enum
103 {
104 spimsbfirst = 0x00,
105 spilsbfirst = 0x80
106 }spibitorder_t;
107
108 #define SPIBITORDERMASK 0x80
109
110
111 extern spi_t spiopen(int count);
112 extern spi_t spiopenandconfig(int count,uint32_t cfg,uint32_t speed,uint32_t MOSIpin,uint32_t MISOpin,uint32_t SCKpin,uint32_t SCSpin);
113 extern int spiclose(spi_t spidev);
114 extern int spisetpins(spi_t spidev,uint32_t MOSIpin,uint32_t MISOpin,uint32_t SCKpin,uint32_t SCSpin);
115 extern int spienable(spi_t spidev);
116 extern int spidisable(spi_t spidev);
117 extern int spisetconfig(spi_t spidev,uint32_t config,uint32_t speed);
118 extern int spisetspeed(spi_t spidev, uint32_t speed);
119 extern int spisetbitorder(spi_t spidev,spibitorder_t order);
120 extern int spisetdatabits(spi_t spidev,spibits_t bitscnt);
121 extern int spisetclkinhlevel(spi_t spidev,spiclkinhlvl_t level);
122 extern int spisetclkphase(spi_t spidev,spiclkphase_t phase);
123 extern int spiputw(spi_t spidev,uint16_t data);
124 extern uint16_t spigetw(spi_t spidev);
125 extern int spiputs(spi_t spidev,char* s);
126 extern int spigets(spi_t spidev,char* s);
127 extern int spiputnw(spi_t spidev,uint16_t* w,int n);
128 extern int spigetnw(spi_t spidev,uint16_t* w,int n);
129 extern int spiputnc(spi_t spidev,char* c,int n);
130 extern int spigetnc(spi_t spidev,char* c,int n);
131 extern int spiavailiabledata(spi_t spidev);
132
133 #ifdef __cplusplus
134 }
135 #endif
136 #endif //SPI_H
137
138
139
140
141
142
143
144
145
146
147
148
@@ -0,0 +1,60
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef STREAMDEVICES_H
23 #define STREAMDEVICES_H
24 #include <uhandle.h>
25 #include <stdint.h>
26
27 typedef struct streamdevice* streamdeviceptr;
28
29 typedef int (*write_t)(streamdeviceptr device,void* data,int size, int n);
30 typedef int (*read_t)(streamdeviceptr device,void* data,int size, int n);
31 typedef int (*setpos_t)(streamdeviceptr device,int pos);
32 typedef int (*close_t)(streamdeviceptr device);
33
34 typedef volatile struct streamdevice
35 {
36 write_t write;
37 read_t read;
38 setpos_t setpos;
39 close_t close;
40 volatile uint32_t streamPt;
41 volatile UHANDLE _stream;
42 volatile uint32_t mode;
43 }streamdevice;
44
45 #endif
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
@@ -0,0 +1,118
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef UART_H
23 #define UART_H
24 #include <stdint.h>
25 #include <uhandle.h>
26 #include <streamdevices.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 /*
33 typedef volatile struct uart_t
34 {
35 volatile void* _dev;
36 volatile int cfg;
37 volatile int speed;
38 }uart_t;
39 */
40
41 typedef int uart_t;
42 #define uart1 0
43 #define uart2 1
44 #define uart3 2
45 #define uart4 3
46 #define uart5 4
47 #define uart6 5
48 #define uart7 6
49 #define uart8 7
50 #define uart9 8
51
52
53 typedef enum
54 {
55 uartparitynone = 0x1,
56 uartparityeven = 0x2,
57 uartparityodd = 0x3
58 }uartparity_t;
59
60 #define UARTPARITYMASK 0x3
61
62 typedef enum
63 {
64 uart7bits = 0x4,
65 uart8bits = 0x8,
66 uart9bits = 0xC
67 }uartbits_t;
68
69 #define UARTBITSMASK 0xC
70
71
72 typedef enum
73 {
74 uarthalfstop = 0x10,
75 uartonestop = 0x20,
76 uartonehalfstop = 0x30,
77 uarttwostop = 0x40
78 }uartstopbits_t;
79
80 #define UARTSTOPBITSMASK 0x70
81
82 extern uart_t uartopen(int count);
83 extern uart_t uartopenandconfig(int count ,uint32_t cfg,uint32_t speed,uint32_t TXpin,uint32_t RXpin,uint32_t RTSpin,uint32_t CTSpin);
84 extern int uartclose(uart_t uart);
85 extern int uartsetpins(uart_t uart,uint32_t TXpin,uint32_t RXpin,uint32_t RTSpin,uint32_t CTSpin);
86 extern int uartenable(uart_t uart);
87 extern int uartdisable(uart_t uart);
88 extern int uartsetconfig(uart_t uart,uint32_t cfg,uint32_t speed);
89 extern int uartsetspeed(uart_t uart,uint32_t speed);
90 extern int uartsetparity(uart_t uart,uartparity_t parity);
91 extern int uartsetdatabits(uart_t uart,uartbits_t databits);
92 extern int uartsetstopbits(uart_t uart,uartstopbits_t stopbits);
93 extern int uartputc(uart_t uart,char c);
94 extern char uartgetc(uart_t uart);
95 extern int uartputs(uart_t uart,char* s);
96 extern int uartgets(uart_t uart,char* s);
97 extern int uartputnc(uart_t uart,char* c,int n);
98 extern int uartgetnc(uart_t uart,char* c,int n);
99 extern int uartavailiabledata(uart_t uart);
100
101 extern int uartmkstreamdev(uart_t uart,streamdevice* strdev);
102
103 #ifdef __cplusplus
104 }
105 #endif
106 #endif //SPI_H
107
108
109
110
111
112
113
114
115
116
117
118
@@ -0,0 +1,134
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef UCDIRENT_H
23 #define UCDIRENT_H
24 #include <uhandle.h>
25 #include <blkdevice.h>
26 #include <stdint.h>
27 #include <stdint-gcc.h>
28 //#include <fs.h>
29
30 #define ATTR_READ_ONLY 0x01
31 #define ATTR_HIDDEN 0x02
32 #define ATTR_SYSTEM 0x04
33 #define ATTR_VOLUME_ID 0x08
34 #define ATTR_DIRECTORY 0x10
35 #define ATTR_ARCHIVE 0x20
36 #define ATTR_LONGNAME 0x0F
37
38 #define DIRENT_EndOfDir 1
39 #define DIRENT_BabArg 2
40 #define DIRENT_ReadErr 3
41 #define DIRENT_LastSect 4
42 #define DIRENT_BadSect 5
43 #define DIRENT_noErr 0
44
45 typedef struct ucdirent* ucdirentptr;
46 typedef int (*getrootfirstent_t)(ucdirentptr entry);
47 typedef int (*nextdirent_t)(ucdirentptr entry);
48 typedef int (*getname_t)(ucdirentptr entry,char* name);
49
50 typedef struct dirent
51 {
52 unsigned char DIR_Name[16];
53 unsigned char DIR_Attr;
54 unsigned char DIR_CrtTimeTenth;
55 unsigned short DIR_CrtTime;
56 unsigned short DIR_CrtDate;
57 unsigned short DIR_LstAccDate;
58 unsigned short DIR_FstClusHI;
59 unsigned short DIR_WrtTime;
60 unsigned short DIR_WrtDate;
61 unsigned short DIR_FstClustLO;
62 unsigned int DIR_FileSize;
63 unsigned int CurrentSec;
64 unsigned char Currententry;
65 UHANDLE fs;
66 getrootfirstent_t getrootfirstent;
67 nextdirent_t nextdirent;
68 getname_t getname;
69 }dirent;
70
71 typedef struct ucdirent{
72 uint8_t DIR_Name[16];
73 uint8_t DIR_Attr;
74 uint8_t DIR_CrtTimeTenth;
75 uint16_t DIR_CrtTime;
76 uint16_t DIR_CrtDate;
77 uint16_t DIR_LstAccDate;
78 uint16_t DIR_FstClusHI;
79 uint16_t DIR_WrtTime;
80 uint16_t DIR_WrtDate;
81 uint16_t DIR_FstClustLO;
82 uint32_t DIR_FileSize;
83 uint32_t CurrentSec;
84 uint8_t Currententry;
85 UHANDLE fs;
86 getrootfirstent_t getrootfirstent;
87 nextdirent_t nextdirent;
88 getname_t getname;
89 }ucdirent;
90
91
92
93 #define direntgetroot(dirent) (dirent).getrootfirstent(&dirent)
94 #define direntgetnext(dirent) (dirent).nextdirent(&dirent)
95
96 #endif
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
@@ -0,0 +1,29
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef UHANDLE_H
23 #define UHANDLE_H
24
25 typedef volatile void* UHANDLE;
26
27 #define uhandlevalide(HANDLE) ((HANDLE)!=0)
28
29 #endif
@@ -0,0 +1,78
1 /*------------------------------------------------------------------------------
2 #-- This file is a part of the libuc, microcontroler library
3 #-- Copyright (C) 2011, Alexis Jeandet
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 : Alexis Jeandet
20 #-- Mail : alexis.jeandet@gmail.com
21 #-------------------------------------------------------------------------------*/
22 #ifndef VS1053_H
23 #define VS1053_H
24 #include <uhandle.h>
25
26 #define VSMODE 0
27 #define VSSTATUS 1
28 #define VSBASS 2
29 #define VSCLOCKF 3
30 #define VSDECODE_TIME 4
31 #define VSAUDATA 5
32 #define VSWRAM 6
33 #define VSWRAMADDR 7
34 #define VSHDAT0 8
35 #define VSHDAT1 9
36 #define VSAIADDR 0xA
37 #define VSVOL 0xB
38 #define VSAICTRL0 0xC
39 #define VSAICTRL1 0xD
40 #define VSAICTRL2 0xE
41 #define VSAICTRL3 0xF
42
43 struct vs1053Regs
44 {
45 sspDev SSP_device;
46 int a;
47 };
48
49 typedef struct vs1053Regs vs1053Dev;
50
51 void vs1053open(vs1053Dev* codec,sspDev dev);
52 void vs1053softreset(vs1053Dev* dev);
53 int vs1053cmdread(vs1053Dev* dev,char address);
54 void vs1053cmdwrite(vs1053Dev* dev,char address,int value);
55
56 extern void vs10XXclearXCS();
57 extern void vs10XXsetXCS();
58 extern int vs10XXDREQ();
59
60 #endif
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
@@ -0,0 +1,30
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef OPTIMISED_MATH_H
23 #define OPTIMISED_MATH_H
24 #include <arm_math.h>
25
26 extern float32_t optimised_sqrt(float32_t value);
27
28 extern float optimised_sin(float32_t x);
29
30 #endif
This diff has been collapsed as it changes many lines, (1671 lines changed) Show them Hide them
@@ -0,0 +1,1671
1 #############################################################################
2 # Makefile for building: libcpu.a
3 # Generated by qmake (2.01a) (Qt 4.8.4) on: jeu. f�vr. 14 21:51:56 2013
4 # Project: cpu.pro
5 # Template: lib
6 # Command: /opt/testlibuc2/libuc2/bin/qmake-libuc2 -o Makefile cpu.pro
7 #############################################################################
8
9 ####### Compiler, tools and options
10
11 CC = arm-none-eabi-gcc
12 CXX = arm-none-eabi-g++
13 DEFINES = -D__OPTIMIZED_MATH -D"assert_param(expr)=((void)0)" -D__FPU_PRESENT=1 -DARM_MATH_CM4
14 CFLAGS = -mlittle-endian -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=c99 $(DEFINES)
15 CXXFLAGS = -mlittle-endian -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=c99 s $(DEFINES)
16 INCPATH = -I/opt/testlibuc2/libuc2/mkspecs/default -I. -I../../includes -ISTM32F4xx_StdPeriph_Driver/inc -ICMSIS/Include -I/opt/testlibuc2/libuc2/mkspecs/stm32f4 -I/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver -I/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS -I/opt/testlibuc2/libuc2/include -I/opt/testlibuc2/libuc2/include/GRAPHIC/CONTROLERS -I/opt/testlibuc2/libuc2/include/GRAPHIC/GUI/FONTS -I/opt/testlibuc2/libuc2/include/GRAPHIC/GUI/Widgets -I/opt/testlibuc2/libuc2/include
17 AR = arm-none-eabi-ar -ru
18 RANLIB =
19 QMAKE = /opt/testlibuc2/libuc2/bin/qmake-libuc2
20 TAR = tar -cf
21 COMPRESS = gzip -9f
22 COPY = cp -f
23 SED = sed
24 COPY_FILE = $(COPY)
25 COPY_DIR = $(COPY) -r
26 STRIP = strip
27 INSTALL_FILE = install -m 644 -p
28 INSTALL_DIR = $(COPY_DIR)
29 INSTALL_PROGRAM = install -m 755 -p
30 DEL_FILE = rm -f
31 SYMLINK = ln -f -s
32 DEL_DIR = rmdir
33 MOVE = mv -f
34 CHK_DIR_EXISTS= test -d
35 MKDIR = mkdir -p
36
37 ####### Output directory
38
39 OBJECTS_DIR = obj/
40
41 ####### Files
42
43 SOURCES = CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c \
44 CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c \
45 CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c \
46 CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c \
47 CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c \
48 CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c \
49 CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c \
50 CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c \
51 CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c \
52 CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c \
53 CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c \
54 CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c \
55 CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c \
56 CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c \
57 CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c \
58 CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c \
59 CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c \
60 CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c \
61 CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c \
62 CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c \
63 CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c \
64 CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c \
65 CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c \
66 CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c \
67 CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c \
68 CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c \
69 CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c \
70 CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c \
71 CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c \
72 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c \
73 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c \
74 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c \
75 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c \
76 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c \
77 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c \
78 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c \
79 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c \
80 CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c \
81 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c \
82 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c \
83 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c \
84 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c \
85 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c \
86 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c \
87 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c \
88 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c \
89 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c \
90 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c \
91 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c \
92 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c \
93 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c \
94 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c \
95 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c \
96 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c \
97 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c \
98 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c \
99 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c \
100 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c \
101 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c \
102 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c \
103 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c \
104 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c \
105 CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c \
106 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c \
107 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c \
108 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c \
109 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c \
110 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c \
111 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c \
112 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c \
113 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c \
114 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c \
115 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c \
116 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c \
117 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c \
118 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c \
119 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c \
120 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c \
121 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c \
122 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c \
123 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c \
124 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c \
125 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c \
126 CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c \
127 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c \
128 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c \
129 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c \
130 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c \
131 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c \
132 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c \
133 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c \
134 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c \
135 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c \
136 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c \
137 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c \
138 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c \
139 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c \
140 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c \
141 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c \
142 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c \
143 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c \
144 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c \
145 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c \
146 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c \
147 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c \
148 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c \
149 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c \
150 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c \
151 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c \
152 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c \
153 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c \
154 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c \
155 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c \
156 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c \
157 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c \
158 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c \
159 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c \
160 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c \
161 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c \
162 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c \
163 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c \
164 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c \
165 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c \
166 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c \
167 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c \
168 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c \
169 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c \
170 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c \
171 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c \
172 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c \
173 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c \
174 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c \
175 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c \
176 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c \
177 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c \
178 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c \
179 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c \
180 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c \
181 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c \
182 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c \
183 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c \
184 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c \
185 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c \
186 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c \
187 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c \
188 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c \
189 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c \
190 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c \
191 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c \
192 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c \
193 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c \
194 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c \
195 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c \
196 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c \
197 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c \
198 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c \
199 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c \
200 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c \
201 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c \
202 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c \
203 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c \
204 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c \
205 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c \
206 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c \
207 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c \
208 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c \
209 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c \
210 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c \
211 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c \
212 CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c \
213 CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c \
214 CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c \
215 CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c \
216 CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c \
217 CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c \
218 CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c \
219 CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c \
220 CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c \
221 CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c \
222 CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c \
223 CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c \
224 CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c \
225 CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c \
226 CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c \
227 CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c \
228 CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c \
229 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c \
230 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c \
231 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c \
232 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c \
233 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c \
234 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c \
235 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c \
236 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c \
237 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c \
238 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c \
239 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c \
240 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c \
241 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c \
242 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c \
243 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c \
244 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c \
245 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c \
246 CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c \
247 CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c \
248 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c \
249 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c \
250 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c \
251 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c \
252 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c \
253 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c \
254 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c \
255 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c \
256 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c \
257 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c \
258 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c \
259 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c \
260 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c \
261 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c \
262 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c \
263 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c \
264 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c \
265 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c \
266 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c \
267 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c \
268 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c \
269 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c \
270 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c \
271 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c \
272 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c \
273 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c \
274 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c \
275 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c \
276 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c \
277 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c \
278 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c \
279 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c \
280 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c \
281 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c \
282 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c \
283 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_wwdg.c \
284 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_usart.c \
285 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_tim.c \
286 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_syscfg.c \
287 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_spi.c \
288 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_sdio.c \
289 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rtc.c \
290 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rng.c \
291 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rcc.c \
292 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_pwr.c \
293 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_iwdg.c \
294 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_i2c.c \
295 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_sha1.c \
296 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_md5.c \
297 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash.c \
298 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_gpio.c \
299 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_fsmc.c \
300 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_flash.c \
301 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_exti.c \
302 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dma.c \
303 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dcmi.c \
304 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dbgmcu.c \
305 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dac.c \
306 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_tdes.c \
307 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_des.c \
308 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_aes.c \
309 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp.c \
310 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_crc.c \
311 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_can.c \
312 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_adc.c \
313 STM32F4xx_StdPeriph_Driver/src/misc.c
314 OBJECTS = obj/arm_cfft_radix4_f32.o \
315 obj/arm_cfft_radix4_init_f32.o \
316 obj/arm_cfft_radix4_init_q15.o \
317 obj/arm_cfft_radix4_init_q31.o \
318 obj/arm_cfft_radix4_q15.o \
319 obj/arm_cfft_radix4_q31.o \
320 obj/arm_dct4_f32.o \
321 obj/arm_dct4_init_f32.o \
322 obj/arm_dct4_init_q15.o \
323 obj/arm_dct4_init_q31.o \
324 obj/arm_dct4_q15.o \
325 obj/arm_dct4_q31.o \
326 obj/arm_rfft_f32.o \
327 obj/arm_rfft_init_f32.o \
328 obj/arm_rfft_init_q15.o \
329 obj/arm_rfft_init_q31.o \
330 obj/arm_rfft_q15.o \
331 obj/arm_rfft_q31.o \
332 obj/arm_copy_f32.o \
333 obj/arm_copy_q15.o \
334 obj/arm_copy_q31.o \
335 obj/arm_copy_q7.o \
336 obj/arm_fill_f32.o \
337 obj/arm_fill_q15.o \
338 obj/arm_fill_q31.o \
339 obj/arm_fill_q7.o \
340 obj/arm_float_to_q15.o \
341 obj/arm_float_to_q31.o \
342 obj/arm_float_to_q7.o \
343 obj/arm_q15_to_float.o \
344 obj/arm_q15_to_q31.o \
345 obj/arm_q15_to_q7.o \
346 obj/arm_q31_to_float.o \
347 obj/arm_q31_to_q15.o \
348 obj/arm_q31_to_q7.o \
349 obj/arm_q7_to_float.o \
350 obj/arm_q7_to_q15.o \
351 obj/arm_q7_to_q31.o \
352 obj/arm_max_f32.o \
353 obj/arm_max_q15.o \
354 obj/arm_max_q31.o \
355 obj/arm_max_q7.o \
356 obj/arm_mean_f32.o \
357 obj/arm_mean_q15.o \
358 obj/arm_mean_q31.o \
359 obj/arm_mean_q7.o \
360 obj/arm_min_f32.o \
361 obj/arm_min_q15.o \
362 obj/arm_min_q31.o \
363 obj/arm_min_q7.o \
364 obj/arm_power_f32.o \
365 obj/arm_power_q15.o \
366 obj/arm_power_q31.o \
367 obj/arm_power_q7.o \
368 obj/arm_rms_f32.o \
369 obj/arm_rms_q15.o \
370 obj/arm_rms_q31.o \
371 obj/arm_std_f32.o \
372 obj/arm_std_q15.o \
373 obj/arm_std_q31.o \
374 obj/arm_var_f32.o \
375 obj/arm_var_q15.o \
376 obj/arm_var_q31.o \
377 obj/arm_mat_add_f32.o \
378 obj/arm_mat_add_q15.o \
379 obj/arm_mat_add_q31.o \
380 obj/arm_mat_init_f32.o \
381 obj/arm_mat_init_q15.o \
382 obj/arm_mat_init_q31.o \
383 obj/arm_mat_inverse_f32.o \
384 obj/arm_mat_mult_f32.o \
385 obj/arm_mat_mult_fast_q15.o \
386 obj/arm_mat_mult_fast_q31.o \
387 obj/arm_mat_mult_q15.o \
388 obj/arm_mat_mult_q31.o \
389 obj/arm_mat_scale_f32.o \
390 obj/arm_mat_scale_q15.o \
391 obj/arm_mat_scale_q31.o \
392 obj/arm_mat_sub_f32.o \
393 obj/arm_mat_sub_q15.o \
394 obj/arm_mat_sub_q31.o \
395 obj/arm_mat_trans_f32.o \
396 obj/arm_mat_trans_q15.o \
397 obj/arm_mat_trans_q31.o \
398 obj/arm_biquad_cascade_df1_32x64_init_q31.o \
399 obj/arm_biquad_cascade_df1_32x64_q31.o \
400 obj/arm_biquad_cascade_df1_f32.o \
401 obj/arm_biquad_cascade_df1_fast_q15.o \
402 obj/arm_biquad_cascade_df1_fast_q31.o \
403 obj/arm_biquad_cascade_df1_init_f32.o \
404 obj/arm_biquad_cascade_df1_init_q15.o \
405 obj/arm_biquad_cascade_df1_init_q31.o \
406 obj/arm_biquad_cascade_df1_q15.o \
407 obj/arm_biquad_cascade_df1_q31.o \
408 obj/arm_biquad_cascade_df2T_f32.o \
409 obj/arm_biquad_cascade_df2T_init_f32.o \
410 obj/arm_conv_f32.o \
411 obj/arm_conv_fast_q15.o \
412 obj/arm_conv_fast_q31.o \
413 obj/arm_conv_partial_f32.o \
414 obj/arm_conv_partial_fast_q15.o \
415 obj/arm_conv_partial_fast_q31.o \
416 obj/arm_conv_partial_q15.o \
417 obj/arm_conv_partial_q31.o \
418 obj/arm_conv_partial_q7.o \
419 obj/arm_conv_q15.o \
420 obj/arm_conv_q31.o \
421 obj/arm_conv_q7.o \
422 obj/arm_correlate_f32.o \
423 obj/arm_correlate_fast_q15.o \
424 obj/arm_correlate_fast_q31.o \
425 obj/arm_correlate_q15.o \
426 obj/arm_correlate_q31.o \
427 obj/arm_correlate_q7.o \
428 obj/arm_fir_decimate_f32.o \
429 obj/arm_fir_decimate_fast_q15.o \
430 obj/arm_fir_decimate_fast_q31.o \
431 obj/arm_fir_decimate_init_f32.o \
432 obj/arm_fir_decimate_init_q15.o \
433 obj/arm_fir_decimate_init_q31.o \
434 obj/arm_fir_decimate_q15.o \
435 obj/arm_fir_decimate_q31.o \
436 obj/arm_fir_f32.o \
437 obj/arm_fir_fast_q15.o \
438 obj/arm_fir_fast_q31.o \
439 obj/arm_fir_init_f32.o \
440 obj/arm_fir_init_q15.o \
441 obj/arm_fir_init_q31.o \
442 obj/arm_fir_init_q7.o \
443 obj/arm_fir_interpolate_f32.o \
444 obj/arm_fir_interpolate_init_f32.o \
445 obj/arm_fir_interpolate_init_q15.o \
446 obj/arm_fir_interpolate_init_q31.o \
447 obj/arm_fir_interpolate_q15.o \
448 obj/arm_fir_interpolate_q31.o \
449 obj/arm_fir_lattice_f32.o \
450 obj/arm_fir_lattice_init_f32.o \
451 obj/arm_fir_lattice_init_q15.o \
452 obj/arm_fir_lattice_init_q31.o \
453 obj/arm_fir_lattice_q15.o \
454 obj/arm_fir_lattice_q31.o \
455 obj/arm_fir_q15.o \
456 obj/arm_fir_q31.o \
457 obj/arm_fir_q7.o \
458 obj/arm_fir_sparse_f32.o \
459 obj/arm_fir_sparse_init_f32.o \
460 obj/arm_fir_sparse_init_q15.o \
461 obj/arm_fir_sparse_init_q31.o \
462 obj/arm_fir_sparse_init_q7.o \
463 obj/arm_fir_sparse_q15.o \
464 obj/arm_fir_sparse_q31.o \
465 obj/arm_fir_sparse_q7.o \
466 obj/arm_iir_lattice_f32.o \
467 obj/arm_iir_lattice_init_f32.o \
468 obj/arm_iir_lattice_init_q15.o \
469 obj/arm_iir_lattice_init_q31.o \
470 obj/arm_iir_lattice_q15.o \
471 obj/arm_iir_lattice_q31.o \
472 obj/arm_lms_f32.o \
473 obj/arm_lms_init_f32.o \
474 obj/arm_lms_init_q15.o \
475 obj/arm_lms_init_q31.o \
476 obj/arm_lms_norm_f32.o \
477 obj/arm_lms_norm_init_f32.o \
478 obj/arm_lms_norm_init_q15.o \
479 obj/arm_lms_norm_init_q31.o \
480 obj/arm_lms_norm_q15.o \
481 obj/arm_lms_norm_q31.o \
482 obj/arm_lms_q15.o \
483 obj/arm_lms_q31.o \
484 obj/arm_cos_f32.o \
485 obj/arm_cos_q15.o \
486 obj/arm_cos_q31.o \
487 obj/arm_sin_f32.o \
488 obj/arm_sin_q15.o \
489 obj/arm_sin_q31.o \
490 obj/arm_sqrt_q15.o \
491 obj/arm_sqrt_q31.o \
492 obj/arm_pid_init_f32.o \
493 obj/arm_pid_init_q15.o \
494 obj/arm_pid_init_q31.o \
495 obj/arm_pid_reset_f32.o \
496 obj/arm_pid_reset_q15.o \
497 obj/arm_pid_reset_q31.o \
498 obj/arm_sin_cos_f32.o \
499 obj/arm_sin_cos_q31.o \
500 obj/arm_cmplx_conj_f32.o \
501 obj/arm_cmplx_conj_q15.o \
502 obj/arm_cmplx_conj_q31.o \
503 obj/arm_cmplx_dot_prod_f32.o \
504 obj/arm_cmplx_dot_prod_q15.o \
505 obj/arm_cmplx_dot_prod_q31.o \
506 obj/arm_cmplx_mag_f32.o \
507 obj/arm_cmplx_mag_q15.o \
508 obj/arm_cmplx_mag_q31.o \
509 obj/arm_cmplx_mag_squared_f32.o \
510 obj/arm_cmplx_mag_squared_q15.o \
511 obj/arm_cmplx_mag_squared_q31.o \
512 obj/arm_cmplx_mult_cmplx_f32.o \
513 obj/arm_cmplx_mult_cmplx_q15.o \
514 obj/arm_cmplx_mult_cmplx_q31.o \
515 obj/arm_cmplx_mult_real_f32.o \
516 obj/arm_cmplx_mult_real_q15.o \
517 obj/arm_cmplx_mult_real_q31.o \
518 obj/arm_common_tables.o \
519 obj/arm_abs_f32.o \
520 obj/arm_abs_q15.o \
521 obj/arm_abs_q31.o \
522 obj/arm_abs_q7.o \
523 obj/arm_add_f32.o \
524 obj/arm_add_q15.o \
525 obj/arm_add_q31.o \
526 obj/arm_add_q7.o \
527 obj/arm_dot_prod_f32.o \
528 obj/arm_dot_prod_q15.o \
529 obj/arm_dot_prod_q31.o \
530 obj/arm_dot_prod_q7.o \
531 obj/arm_mult_f32.o \
532 obj/arm_mult_q15.o \
533 obj/arm_mult_q31.o \
534 obj/arm_mult_q7.o \
535 obj/arm_negate_f32.o \
536 obj/arm_negate_q15.o \
537 obj/arm_negate_q31.o \
538 obj/arm_negate_q7.o \
539 obj/arm_offset_f32.o \
540 obj/arm_offset_q15.o \
541 obj/arm_offset_q31.o \
542 obj/arm_offset_q7.o \
543 obj/arm_scale_f32.o \
544 obj/arm_scale_q15.o \
545 obj/arm_scale_q31.o \
546 obj/arm_scale_q7.o \
547 obj/arm_shift_q15.o \
548 obj/arm_shift_q31.o \
549 obj/arm_shift_q7.o \
550 obj/arm_sub_f32.o \
551 obj/arm_sub_q15.o \
552 obj/arm_sub_q31.o \
553 obj/arm_sub_q7.o \
554 obj/stm32f4xx_wwdg.o \
555 obj/stm32f4xx_usart.o \
556 obj/stm32f4xx_tim.o \
557 obj/stm32f4xx_syscfg.o \
558 obj/stm32f4xx_spi.o \
559 obj/stm32f4xx_sdio.o \
560 obj/stm32f4xx_rtc.o \
561 obj/stm32f4xx_rng.o \
562 obj/stm32f4xx_rcc.o \
563 obj/stm32f4xx_pwr.o \
564 obj/stm32f4xx_iwdg.o \
565 obj/stm32f4xx_i2c.o \
566 obj/stm32f4xx_hash_sha1.o \
567 obj/stm32f4xx_hash_md5.o \
568 obj/stm32f4xx_hash.o \
569 obj/stm32f4xx_gpio.o \
570 obj/stm32f4xx_fsmc.o \
571 obj/stm32f4xx_flash.o \
572 obj/stm32f4xx_exti.o \
573 obj/stm32f4xx_dma.o \
574 obj/stm32f4xx_dcmi.o \
575 obj/stm32f4xx_dbgmcu.o \
576 obj/stm32f4xx_dac.o \
577 obj/stm32f4xx_cryp_tdes.o \
578 obj/stm32f4xx_cryp_des.o \
579 obj/stm32f4xx_cryp_aes.o \
580 obj/stm32f4xx_cryp.o \
581 obj/stm32f4xx_crc.o \
582 obj/stm32f4xx_can.o \
583 obj/stm32f4xx_adc.o \
584 obj/misc.o
585 DIST = /opt/testlibuc2/libuc2/mkspecs/common/unix.conf \
586 /opt/testlibuc2/libuc2/mkspecs/common/linux.conf \
587 /opt/testlibuc2/libuc2/mkspecs/qconfig.pri \
588 /opt/testlibuc2/libuc2/mkspecs/features/qt_functions.prf \
589 /opt/testlibuc2/libuc2/mkspecs/features/qt_config.prf \
590 /opt/testlibuc2/libuc2/mkspecs/features/exclusive_builds.prf \
591 /opt/testlibuc2/libuc2/mkspecs/features/default_pre.prf \
592 CMSIS/CMSIS.pri \
593 USB/USB.pri \
594 STM32F4xx_StdPeriph_Driver/STM32F4xx_StdPeriph_Driver.pri \
595 /opt/testlibuc2/libuc2/mkspecs/features/release.prf \
596 /opt/testlibuc2/libuc2/mkspecs/features/default_post.prf \
597 /opt/testlibuc2/libuc2/mkspecs/features/warn_on.prf \
598 /opt/testlibuc2/libuc2/mkspecs/features/libuc2.prf \
599 /opt/testlibuc2/libuc2/mkspecs/common/arm-none-eabi.conf \
600 /opt/testlibuc2/libuc2/mkspecs/common/libuc2libs.conf \
601 /opt/testlibuc2/libuc2/mkspecs/stm32f4/qmake.conf \
602 /opt/testlibuc2/libuc2/mkspecs/features/ucswitch.prf \
603 /opt/testlibuc2/libuc2/mkspecs/features/staticlib.prf \
604 /opt/testlibuc2/libuc2/mkspecs/features/static.prf \
605 /opt/testlibuc2/libuc2/mkspecs/features/resources.prf \
606 /opt/testlibuc2/libuc2/mkspecs/features/uic.prf \
607 /opt/testlibuc2/libuc2/mkspecs/features/yacc.prf \
608 /opt/testlibuc2/libuc2/mkspecs/features/lex.prf \
609 /opt/testlibuc2/libuc2/mkspecs/features/include_source_dir.prf \
610 cpu.pro
611 QMAKE_TARGET = cpu
612 DESTDIR =
613 TARGET = libcpu.a
614
615 first: all
616 ####### Implicit rules
617
618 .SUFFIXES: .o .c .cpp .cc .cxx .C
619
620 .cpp.o:
621 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
622
623 .cc.o:
624 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
625
626 .cxx.o:
627 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
628
629 .C.o:
630 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
631
632 .c.o:
633 $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
634
635 ####### Build rules
636
637 all: Makefile $(TARGET)
638
639 staticlib: $(TARGET)
640
641 $(TARGET): $(OBJECTS) $(OBJCOMP)
642 -$(DEL_FILE) $(TARGET)
643 $(AR) $(TARGET) $(OBJECTS)
644
645
646 Makefile: cpu.pro /opt/testlibuc2/libuc2/mkspecs/default/qmake.conf /opt/testlibuc2/libuc2/mkspecs/common/unix.conf \
647 /opt/testlibuc2/libuc2/mkspecs/common/linux.conf \
648 /opt/testlibuc2/libuc2/mkspecs/qconfig.pri \
649 /opt/testlibuc2/libuc2/mkspecs/features/qt_functions.prf \
650 /opt/testlibuc2/libuc2/mkspecs/features/qt_config.prf \
651 /opt/testlibuc2/libuc2/mkspecs/features/exclusive_builds.prf \
652 /opt/testlibuc2/libuc2/mkspecs/features/default_pre.prf \
653 CMSIS/CMSIS.pri \
654 USB/USB.pri \
655 STM32F4xx_StdPeriph_Driver/STM32F4xx_StdPeriph_Driver.pri \
656 /opt/testlibuc2/libuc2/mkspecs/features/release.prf \
657 /opt/testlibuc2/libuc2/mkspecs/features/default_post.prf \
658 /opt/testlibuc2/libuc2/mkspecs/features/warn_on.prf \
659 /opt/testlibuc2/libuc2/mkspecs/features/libuc2.prf \
660 /opt/testlibuc2/libuc2/mkspecs/common/arm-none-eabi.conf \
661 /opt/testlibuc2/libuc2/mkspecs/common/libuc2libs.conf \
662 /opt/testlibuc2/libuc2/mkspecs/stm32f4/qmake.conf \
663 /opt/testlibuc2/libuc2/mkspecs/features/ucswitch.prf \
664 /opt/testlibuc2/libuc2/mkspecs/features/staticlib.prf \
665 /opt/testlibuc2/libuc2/mkspecs/features/static.prf \
666 /opt/testlibuc2/libuc2/mkspecs/features/resources.prf \
667 /opt/testlibuc2/libuc2/mkspecs/features/uic.prf \
668 /opt/testlibuc2/libuc2/mkspecs/features/yacc.prf \
669 /opt/testlibuc2/libuc2/mkspecs/features/lex.prf \
670 /opt/testlibuc2/libuc2/mkspecs/features/include_source_dir.prf
671 $(QMAKE) -o Makefile cpu.pro
672 /opt/testlibuc2/libuc2/mkspecs/common/unix.conf:
673 /opt/testlibuc2/libuc2/mkspecs/common/linux.conf:
674 /opt/testlibuc2/libuc2/mkspecs/qconfig.pri:
675 /opt/testlibuc2/libuc2/mkspecs/features/qt_functions.prf:
676 /opt/testlibuc2/libuc2/mkspecs/features/qt_config.prf:
677 /opt/testlibuc2/libuc2/mkspecs/features/exclusive_builds.prf:
678 /opt/testlibuc2/libuc2/mkspecs/features/default_pre.prf:
679 CMSIS/CMSIS.pri:
680 USB/USB.pri:
681 STM32F4xx_StdPeriph_Driver/STM32F4xx_StdPeriph_Driver.pri:
682 /opt/testlibuc2/libuc2/mkspecs/features/release.prf:
683 /opt/testlibuc2/libuc2/mkspecs/features/default_post.prf:
684 /opt/testlibuc2/libuc2/mkspecs/features/warn_on.prf:
685 /opt/testlibuc2/libuc2/mkspecs/features/libuc2.prf:
686 /opt/testlibuc2/libuc2/mkspecs/common/arm-none-eabi.conf:
687 /opt/testlibuc2/libuc2/mkspecs/common/libuc2libs.conf:
688 /opt/testlibuc2/libuc2/mkspecs/stm32f4/qmake.conf:
689 /opt/testlibuc2/libuc2/mkspecs/features/ucswitch.prf:
690 /opt/testlibuc2/libuc2/mkspecs/features/staticlib.prf:
691 /opt/testlibuc2/libuc2/mkspecs/features/static.prf:
692 /opt/testlibuc2/libuc2/mkspecs/features/resources.prf:
693 /opt/testlibuc2/libuc2/mkspecs/features/uic.prf:
694 /opt/testlibuc2/libuc2/mkspecs/features/yacc.prf:
695 /opt/testlibuc2/libuc2/mkspecs/features/lex.prf:
696 /opt/testlibuc2/libuc2/mkspecs/features/include_source_dir.prf:
697 qmake: FORCE
698 @$(QMAKE) -o Makefile cpu.pro
699
700 dist:
701 @$(CHK_DIR_EXISTS) obj/cpu1.0.0 || $(MKDIR) obj/cpu1.0.0
702 $(COPY_FILE) --parents $(SOURCES) $(DIST) obj/cpu1.0.0/ && (cd `dirname obj/cpu1.0.0` && $(TAR) cpu1.0.0.tar cpu1.0.0 && $(COMPRESS) cpu1.0.0.tar) && $(MOVE) `dirname obj/cpu1.0.0`/cpu1.0.0.tar.gz . && $(DEL_FILE) -r obj/cpu1.0.0
703
704
705 clean:compiler_clean
706 -$(DEL_FILE) $(OBJECTS)
707 -$(DEL_FILE) *~ core *.core
708
709
710 ####### Sub-libraries
711
712 distclean: clean
713 -$(DEL_FILE) $(TARGET)
714 -$(DEL_FILE) Makefile
715
716
717 check: first
718
719 compiler_rcc_make_all:
720 compiler_rcc_clean:
721 compiler_uic_make_all:
722 compiler_uic_clean:
723 compiler_image_collection_make_all: qmake_image_collection.cpp
724 compiler_image_collection_clean:
725 -$(DEL_FILE) qmake_image_collection.cpp
726 compiler_yacc_decl_make_all:
727 compiler_yacc_decl_clean:
728 compiler_yacc_impl_make_all:
729 compiler_yacc_impl_clean:
730 compiler_lex_make_all:
731 compiler_lex_clean:
732 compiler_clean:
733
734 ####### Compile
735
736 obj/arm_cfft_radix4_f32.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c
737 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cfft_radix4_f32.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c
738
739 obj/arm_cfft_radix4_init_f32.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c
740 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cfft_radix4_init_f32.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c
741
742 obj/arm_cfft_radix4_init_q15.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c
743 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cfft_radix4_init_q15.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c
744
745 obj/arm_cfft_radix4_init_q31.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c
746 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cfft_radix4_init_q31.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c
747
748 obj/arm_cfft_radix4_q15.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c
749 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cfft_radix4_q15.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c
750
751 obj/arm_cfft_radix4_q31.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c
752 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cfft_radix4_q31.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c
753
754 obj/arm_dct4_f32.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c
755 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dct4_f32.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c
756
757 obj/arm_dct4_init_f32.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c
758 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dct4_init_f32.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c
759
760 obj/arm_dct4_init_q15.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c
761 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dct4_init_q15.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c
762
763 obj/arm_dct4_init_q31.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c
764 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dct4_init_q31.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c
765
766 obj/arm_dct4_q15.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c
767 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dct4_q15.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c
768
769 obj/arm_dct4_q31.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c
770 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dct4_q31.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c
771
772 obj/arm_rfft_f32.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c
773 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rfft_f32.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c
774
775 obj/arm_rfft_init_f32.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c
776 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rfft_init_f32.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c
777
778 obj/arm_rfft_init_q15.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c
779 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rfft_init_q15.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c
780
781 obj/arm_rfft_init_q31.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c
782 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rfft_init_q31.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c
783
784 obj/arm_rfft_q15.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c
785 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rfft_q15.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c
786
787 obj/arm_rfft_q31.o: CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c
788 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rfft_q31.o CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c
789
790 obj/arm_copy_f32.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c
791 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_copy_f32.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c
792
793 obj/arm_copy_q15.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c
794 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_copy_q15.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c
795
796 obj/arm_copy_q31.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c
797 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_copy_q31.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c
798
799 obj/arm_copy_q7.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c
800 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_copy_q7.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c
801
802 obj/arm_fill_f32.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c
803 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fill_f32.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c
804
805 obj/arm_fill_q15.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c
806 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fill_q15.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c
807
808 obj/arm_fill_q31.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c
809 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fill_q31.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c
810
811 obj/arm_fill_q7.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c
812 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fill_q7.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c
813
814 obj/arm_float_to_q15.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c
815 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_float_to_q15.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c
816
817 obj/arm_float_to_q31.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c
818 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_float_to_q31.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c
819
820 obj/arm_float_to_q7.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c
821 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_float_to_q7.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c
822
823 obj/arm_q15_to_float.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c
824 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q15_to_float.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c
825
826 obj/arm_q15_to_q31.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c
827 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q15_to_q31.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c
828
829 obj/arm_q15_to_q7.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c
830 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q15_to_q7.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c
831
832 obj/arm_q31_to_float.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c
833 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q31_to_float.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c
834
835 obj/arm_q31_to_q15.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c
836 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q31_to_q15.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c
837
838 obj/arm_q31_to_q7.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c
839 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q31_to_q7.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c
840
841 obj/arm_q7_to_float.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c
842 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q7_to_float.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c
843
844 obj/arm_q7_to_q15.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c
845 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q7_to_q15.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c
846
847 obj/arm_q7_to_q31.o: CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c
848 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_q7_to_q31.o CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c
849
850 obj/arm_max_f32.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c
851 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_max_f32.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c
852
853 obj/arm_max_q15.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c
854 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_max_q15.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c
855
856 obj/arm_max_q31.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c
857 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_max_q31.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c
858
859 obj/arm_max_q7.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c
860 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_max_q7.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c
861
862 obj/arm_mean_f32.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c
863 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mean_f32.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c
864
865 obj/arm_mean_q15.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c
866 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mean_q15.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c
867
868 obj/arm_mean_q31.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c
869 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mean_q31.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c
870
871 obj/arm_mean_q7.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c
872 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mean_q7.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c
873
874 obj/arm_min_f32.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c
875 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_min_f32.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c
876
877 obj/arm_min_q15.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c
878 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_min_q15.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c
879
880 obj/arm_min_q31.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c
881 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_min_q31.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c
882
883 obj/arm_min_q7.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c
884 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_min_q7.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c
885
886 obj/arm_power_f32.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c
887 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_power_f32.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c
888
889 obj/arm_power_q15.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c
890 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_power_q15.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c
891
892 obj/arm_power_q31.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c
893 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_power_q31.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c
894
895 obj/arm_power_q7.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c
896 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_power_q7.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c
897
898 obj/arm_rms_f32.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c
899 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rms_f32.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c
900
901 obj/arm_rms_q15.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c
902 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rms_q15.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c
903
904 obj/arm_rms_q31.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c
905 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_rms_q31.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c
906
907 obj/arm_std_f32.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c
908 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_std_f32.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c
909
910 obj/arm_std_q15.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c
911 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_std_q15.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c
912
913 obj/arm_std_q31.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c
914 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_std_q31.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c
915
916 obj/arm_var_f32.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c
917 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_var_f32.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c
918
919 obj/arm_var_q15.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c
920 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_var_q15.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c
921
922 obj/arm_var_q31.o: CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c
923 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_var_q31.o CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c
924
925 obj/arm_mat_add_f32.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c
926 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_add_f32.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c
927
928 obj/arm_mat_add_q15.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c
929 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_add_q15.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c
930
931 obj/arm_mat_add_q31.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c
932 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_add_q31.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c
933
934 obj/arm_mat_init_f32.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c
935 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_init_f32.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c
936
937 obj/arm_mat_init_q15.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c
938 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_init_q15.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c
939
940 obj/arm_mat_init_q31.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c
941 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_init_q31.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c
942
943 obj/arm_mat_inverse_f32.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c
944 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_inverse_f32.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c
945
946 obj/arm_mat_mult_f32.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c
947 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_mult_f32.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c
948
949 obj/arm_mat_mult_fast_q15.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c
950 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_mult_fast_q15.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c
951
952 obj/arm_mat_mult_fast_q31.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c
953 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_mult_fast_q31.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c
954
955 obj/arm_mat_mult_q15.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c
956 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_mult_q15.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c
957
958 obj/arm_mat_mult_q31.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c
959 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_mult_q31.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c
960
961 obj/arm_mat_scale_f32.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c
962 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_scale_f32.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c
963
964 obj/arm_mat_scale_q15.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c
965 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_scale_q15.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c
966
967 obj/arm_mat_scale_q31.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c
968 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_scale_q31.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c
969
970 obj/arm_mat_sub_f32.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c
971 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_sub_f32.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c
972
973 obj/arm_mat_sub_q15.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c
974 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_sub_q15.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c
975
976 obj/arm_mat_sub_q31.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c
977 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_sub_q31.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c
978
979 obj/arm_mat_trans_f32.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c
980 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_trans_f32.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c
981
982 obj/arm_mat_trans_q15.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c
983 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_trans_q15.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c
984
985 obj/arm_mat_trans_q31.o: CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c
986 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mat_trans_q31.o CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c
987
988 obj/arm_biquad_cascade_df1_32x64_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
989 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_32x64_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
990
991 obj/arm_biquad_cascade_df1_32x64_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
992 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_32x64_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
993
994 obj/arm_biquad_cascade_df1_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c
995 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c
996
997 obj/arm_biquad_cascade_df1_fast_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
998 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_fast_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
999
1000 obj/arm_biquad_cascade_df1_fast_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
1001 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_fast_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
1002
1003 obj/arm_biquad_cascade_df1_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
1004 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
1005
1006 obj/arm_biquad_cascade_df1_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
1007 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
1008
1009 obj/arm_biquad_cascade_df1_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
1010 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
1011
1012 obj/arm_biquad_cascade_df1_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c
1013 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c
1014
1015 obj/arm_biquad_cascade_df1_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c
1016 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df1_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c
1017
1018 obj/arm_biquad_cascade_df2T_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
1019 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df2T_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
1020
1021 obj/arm_biquad_cascade_df2T_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
1022 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_biquad_cascade_df2T_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
1023
1024 obj/arm_conv_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c
1025 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c
1026
1027 obj/arm_conv_fast_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c
1028 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_fast_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c
1029
1030 obj/arm_conv_fast_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c
1031 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_fast_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c
1032
1033 obj/arm_conv_partial_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c
1034 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_partial_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c
1035
1036 obj/arm_conv_partial_fast_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c
1037 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_partial_fast_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c
1038
1039 obj/arm_conv_partial_fast_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c
1040 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_partial_fast_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c
1041
1042 obj/arm_conv_partial_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c
1043 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_partial_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c
1044
1045 obj/arm_conv_partial_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c
1046 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_partial_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c
1047
1048 obj/arm_conv_partial_q7.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c
1049 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_partial_q7.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c
1050
1051 obj/arm_conv_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c
1052 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c
1053
1054 obj/arm_conv_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c
1055 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c
1056
1057 obj/arm_conv_q7.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c
1058 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_conv_q7.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c
1059
1060 obj/arm_correlate_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c
1061 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_correlate_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c
1062
1063 obj/arm_correlate_fast_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c
1064 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_correlate_fast_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c
1065
1066 obj/arm_correlate_fast_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c
1067 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_correlate_fast_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c
1068
1069 obj/arm_correlate_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c
1070 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_correlate_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c
1071
1072 obj/arm_correlate_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c
1073 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_correlate_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c
1074
1075 obj/arm_correlate_q7.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c
1076 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_correlate_q7.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c
1077
1078 obj/arm_fir_decimate_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c
1079 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_decimate_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c
1080
1081 obj/arm_fir_decimate_fast_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c
1082 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_decimate_fast_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c
1083
1084 obj/arm_fir_decimate_fast_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c
1085 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_decimate_fast_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c
1086
1087 obj/arm_fir_decimate_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c
1088 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_decimate_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c
1089
1090 obj/arm_fir_decimate_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c
1091 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_decimate_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c
1092
1093 obj/arm_fir_decimate_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c
1094 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_decimate_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c
1095
1096 obj/arm_fir_decimate_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c
1097 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_decimate_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c
1098
1099 obj/arm_fir_decimate_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c
1100 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_decimate_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c
1101
1102 obj/arm_fir_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c
1103 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c
1104
1105 obj/arm_fir_fast_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c
1106 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_fast_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c
1107
1108 obj/arm_fir_fast_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c
1109 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_fast_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c
1110
1111 obj/arm_fir_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c
1112 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c
1113
1114 obj/arm_fir_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c
1115 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c
1116
1117 obj/arm_fir_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c
1118 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c
1119
1120 obj/arm_fir_init_q7.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c
1121 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_init_q7.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c
1122
1123 obj/arm_fir_interpolate_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c
1124 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_interpolate_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c
1125
1126 obj/arm_fir_interpolate_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c
1127 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_interpolate_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c
1128
1129 obj/arm_fir_interpolate_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c
1130 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_interpolate_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c
1131
1132 obj/arm_fir_interpolate_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c
1133 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_interpolate_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c
1134
1135 obj/arm_fir_interpolate_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c
1136 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_interpolate_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c
1137
1138 obj/arm_fir_interpolate_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c
1139 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_interpolate_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c
1140
1141 obj/arm_fir_lattice_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c
1142 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_lattice_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c
1143
1144 obj/arm_fir_lattice_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c
1145 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_lattice_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c
1146
1147 obj/arm_fir_lattice_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c
1148 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_lattice_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c
1149
1150 obj/arm_fir_lattice_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c
1151 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_lattice_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c
1152
1153 obj/arm_fir_lattice_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c
1154 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_lattice_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c
1155
1156 obj/arm_fir_lattice_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c
1157 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_lattice_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c
1158
1159 obj/arm_fir_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c
1160 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c
1161
1162 obj/arm_fir_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c
1163 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c
1164
1165 obj/arm_fir_q7.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c
1166 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_q7.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c
1167
1168 obj/arm_fir_sparse_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c
1169 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_sparse_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c
1170
1171 obj/arm_fir_sparse_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c
1172 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_sparse_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c
1173
1174 obj/arm_fir_sparse_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c
1175 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_sparse_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c
1176
1177 obj/arm_fir_sparse_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c
1178 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_sparse_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c
1179
1180 obj/arm_fir_sparse_init_q7.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c
1181 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_sparse_init_q7.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c
1182
1183 obj/arm_fir_sparse_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c
1184 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_sparse_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c
1185
1186 obj/arm_fir_sparse_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c
1187 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_sparse_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c
1188
1189 obj/arm_fir_sparse_q7.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c
1190 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_fir_sparse_q7.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c
1191
1192 obj/arm_iir_lattice_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c
1193 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_iir_lattice_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c
1194
1195 obj/arm_iir_lattice_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c
1196 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_iir_lattice_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c
1197
1198 obj/arm_iir_lattice_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c
1199 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_iir_lattice_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c
1200
1201 obj/arm_iir_lattice_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c
1202 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_iir_lattice_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c
1203
1204 obj/arm_iir_lattice_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c
1205 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_iir_lattice_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c
1206
1207 obj/arm_iir_lattice_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c
1208 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_iir_lattice_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c
1209
1210 obj/arm_lms_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c
1211 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c
1212
1213 obj/arm_lms_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c
1214 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c
1215
1216 obj/arm_lms_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c
1217 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c
1218
1219 obj/arm_lms_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c
1220 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c
1221
1222 obj/arm_lms_norm_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c
1223 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_norm_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c
1224
1225 obj/arm_lms_norm_init_f32.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c
1226 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_norm_init_f32.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c
1227
1228 obj/arm_lms_norm_init_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c
1229 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_norm_init_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c
1230
1231 obj/arm_lms_norm_init_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c
1232 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_norm_init_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c
1233
1234 obj/arm_lms_norm_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c
1235 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_norm_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c
1236
1237 obj/arm_lms_norm_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c
1238 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_norm_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c
1239
1240 obj/arm_lms_q15.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c
1241 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_q15.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c
1242
1243 obj/arm_lms_q31.o: CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c
1244 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_lms_q31.o CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c
1245
1246 obj/arm_cos_f32.o: CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c
1247 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cos_f32.o CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c
1248
1249 obj/arm_cos_q15.o: CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c
1250 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cos_q15.o CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c
1251
1252 obj/arm_cos_q31.o: CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c
1253 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cos_q31.o CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c
1254
1255 obj/arm_sin_f32.o: CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c
1256 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sin_f32.o CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c
1257
1258 obj/arm_sin_q15.o: CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c
1259 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sin_q15.o CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c
1260
1261 obj/arm_sin_q31.o: CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c
1262 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sin_q31.o CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c
1263
1264 obj/arm_sqrt_q15.o: CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c
1265 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sqrt_q15.o CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c
1266
1267 obj/arm_sqrt_q31.o: CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c
1268 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sqrt_q31.o CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c
1269
1270 obj/arm_pid_init_f32.o: CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c
1271 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_pid_init_f32.o CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c
1272
1273 obj/arm_pid_init_q15.o: CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c
1274 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_pid_init_q15.o CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c
1275
1276 obj/arm_pid_init_q31.o: CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c
1277 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_pid_init_q31.o CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c
1278
1279 obj/arm_pid_reset_f32.o: CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c
1280 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_pid_reset_f32.o CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c
1281
1282 obj/arm_pid_reset_q15.o: CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c
1283 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_pid_reset_q15.o CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c
1284
1285 obj/arm_pid_reset_q31.o: CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c
1286 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_pid_reset_q31.o CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c
1287
1288 obj/arm_sin_cos_f32.o: CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c
1289 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sin_cos_f32.o CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c
1290
1291 obj/arm_sin_cos_q31.o: CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c
1292 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sin_cos_q31.o CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c
1293
1294 obj/arm_cmplx_conj_f32.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c
1295 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_conj_f32.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c
1296
1297 obj/arm_cmplx_conj_q15.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c
1298 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_conj_q15.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c
1299
1300 obj/arm_cmplx_conj_q31.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c
1301 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_conj_q31.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c
1302
1303 obj/arm_cmplx_dot_prod_f32.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
1304 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_dot_prod_f32.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
1305
1306 obj/arm_cmplx_dot_prod_q15.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
1307 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_dot_prod_q15.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
1308
1309 obj/arm_cmplx_dot_prod_q31.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
1310 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_dot_prod_q31.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
1311
1312 obj/arm_cmplx_mag_f32.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c
1313 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mag_f32.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c
1314
1315 obj/arm_cmplx_mag_q15.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c
1316 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mag_q15.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c
1317
1318 obj/arm_cmplx_mag_q31.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c
1319 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mag_q31.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c
1320
1321 obj/arm_cmplx_mag_squared_f32.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
1322 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mag_squared_f32.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
1323
1324 obj/arm_cmplx_mag_squared_q15.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
1325 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mag_squared_q15.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
1326
1327 obj/arm_cmplx_mag_squared_q31.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
1328 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mag_squared_q31.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
1329
1330 obj/arm_cmplx_mult_cmplx_f32.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
1331 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mult_cmplx_f32.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
1332
1333 obj/arm_cmplx_mult_cmplx_q15.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
1334 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mult_cmplx_q15.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
1335
1336 obj/arm_cmplx_mult_cmplx_q31.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
1337 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mult_cmplx_q31.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
1338
1339 obj/arm_cmplx_mult_real_f32.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
1340 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mult_real_f32.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
1341
1342 obj/arm_cmplx_mult_real_q15.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
1343 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mult_real_q15.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
1344
1345 obj/arm_cmplx_mult_real_q31.o: CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
1346 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_cmplx_mult_real_q31.o CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
1347
1348 obj/arm_common_tables.o: CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c
1349 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_common_tables.o CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c
1350
1351 obj/arm_abs_f32.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c
1352 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_abs_f32.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c
1353
1354 obj/arm_abs_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c
1355 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_abs_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c
1356
1357 obj/arm_abs_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c
1358 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_abs_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c
1359
1360 obj/arm_abs_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c
1361 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_abs_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c
1362
1363 obj/arm_add_f32.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c
1364 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_add_f32.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c
1365
1366 obj/arm_add_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c
1367 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_add_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c
1368
1369 obj/arm_add_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c
1370 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_add_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c
1371
1372 obj/arm_add_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c
1373 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_add_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c
1374
1375 obj/arm_dot_prod_f32.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c
1376 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dot_prod_f32.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c
1377
1378 obj/arm_dot_prod_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c
1379 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dot_prod_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c
1380
1381 obj/arm_dot_prod_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c
1382 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dot_prod_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c
1383
1384 obj/arm_dot_prod_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c
1385 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_dot_prod_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c
1386
1387 obj/arm_mult_f32.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c
1388 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mult_f32.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c
1389
1390 obj/arm_mult_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c
1391 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mult_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c
1392
1393 obj/arm_mult_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c
1394 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mult_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c
1395
1396 obj/arm_mult_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c
1397 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_mult_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c
1398
1399 obj/arm_negate_f32.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c
1400 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_negate_f32.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c
1401
1402 obj/arm_negate_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c
1403 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_negate_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c
1404
1405 obj/arm_negate_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c
1406 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_negate_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c
1407
1408 obj/arm_negate_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c
1409 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_negate_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c
1410
1411 obj/arm_offset_f32.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c
1412 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_offset_f32.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c
1413
1414 obj/arm_offset_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c
1415 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_offset_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c
1416
1417 obj/arm_offset_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c
1418 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_offset_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c
1419
1420 obj/arm_offset_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c
1421 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_offset_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c
1422
1423 obj/arm_scale_f32.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c
1424 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_scale_f32.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c
1425
1426 obj/arm_scale_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c
1427 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_scale_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c
1428
1429 obj/arm_scale_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c
1430 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_scale_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c
1431
1432 obj/arm_scale_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c
1433 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_scale_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c
1434
1435 obj/arm_shift_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c
1436 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_shift_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c
1437
1438 obj/arm_shift_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c
1439 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_shift_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c
1440
1441 obj/arm_shift_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c
1442 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_shift_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c
1443
1444 obj/arm_sub_f32.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c
1445 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sub_f32.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c
1446
1447 obj/arm_sub_q15.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c
1448 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sub_q15.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c
1449
1450 obj/arm_sub_q31.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c
1451 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sub_q31.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c
1452
1453 obj/arm_sub_q7.o: CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c
1454 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/arm_sub_q7.o CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c
1455
1456 obj/stm32f4xx_wwdg.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_wwdg.c
1457 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_wwdg.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_wwdg.c
1458
1459 obj/stm32f4xx_usart.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_usart.c
1460 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_usart.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_usart.c
1461
1462 obj/stm32f4xx_tim.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_tim.c
1463 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_tim.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_tim.c
1464
1465 obj/stm32f4xx_syscfg.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_syscfg.c
1466 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_syscfg.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_syscfg.c
1467
1468 obj/stm32f4xx_spi.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_spi.c
1469 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_spi.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_spi.c
1470
1471 obj/stm32f4xx_sdio.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_sdio.c
1472 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_sdio.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_sdio.c
1473
1474 obj/stm32f4xx_rtc.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rtc.c
1475 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_rtc.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rtc.c
1476
1477 obj/stm32f4xx_rng.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rng.c
1478 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_rng.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rng.c
1479
1480 obj/stm32f4xx_rcc.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rcc.c
1481 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_rcc.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rcc.c
1482
1483 obj/stm32f4xx_pwr.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_pwr.c
1484 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_pwr.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_pwr.c
1485
1486 obj/stm32f4xx_iwdg.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_iwdg.c
1487 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_iwdg.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_iwdg.c
1488
1489 obj/stm32f4xx_i2c.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_i2c.c
1490 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_i2c.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_i2c.c
1491
1492 obj/stm32f4xx_hash_sha1.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_sha1.c
1493 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_hash_sha1.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_sha1.c
1494
1495 obj/stm32f4xx_hash_md5.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_md5.c
1496 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_hash_md5.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_md5.c
1497
1498 obj/stm32f4xx_hash.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash.c
1499 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_hash.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash.c
1500
1501 obj/stm32f4xx_gpio.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_gpio.c
1502 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_gpio.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_gpio.c
1503
1504 obj/stm32f4xx_fsmc.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_fsmc.c
1505 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_fsmc.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_fsmc.c
1506
1507 obj/stm32f4xx_flash.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_flash.c
1508 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_flash.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_flash.c
1509
1510 obj/stm32f4xx_exti.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_exti.c
1511 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_exti.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_exti.c
1512
1513 obj/stm32f4xx_dma.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dma.c
1514 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_dma.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dma.c
1515
1516 obj/stm32f4xx_dcmi.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dcmi.c
1517 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_dcmi.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dcmi.c
1518
1519 obj/stm32f4xx_dbgmcu.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dbgmcu.c
1520 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_dbgmcu.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dbgmcu.c
1521
1522 obj/stm32f4xx_dac.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dac.c
1523 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_dac.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dac.c
1524
1525 obj/stm32f4xx_cryp_tdes.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_tdes.c
1526 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_cryp_tdes.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_tdes.c
1527
1528 obj/stm32f4xx_cryp_des.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_des.c
1529 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_cryp_des.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_des.c
1530
1531 obj/stm32f4xx_cryp_aes.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_aes.c
1532 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_cryp_aes.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_aes.c
1533
1534 obj/stm32f4xx_cryp.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp.c
1535 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_cryp.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp.c
1536
1537 obj/stm32f4xx_crc.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_crc.c
1538 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_crc.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_crc.c
1539
1540 obj/stm32f4xx_can.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_can.c
1541 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_can.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_can.c
1542
1543 obj/stm32f4xx_adc.o: STM32F4xx_StdPeriph_Driver/src/stm32f4xx_adc.c
1544 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/stm32f4xx_adc.o STM32F4xx_StdPeriph_Driver/src/stm32f4xx_adc.c
1545
1546 obj/misc.o: STM32F4xx_StdPeriph_Driver/src/misc.c
1547 $(CC) -c $(CFLAGS) $(INCPATH) -o obj/misc.o STM32F4xx_StdPeriph_Driver/src/misc.c
1548
1549 ####### Install
1550
1551 install_target: first FORCE
1552 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/ || $(MKDIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/
1553 -$(INSTALL_FILE) "$(TARGET)" "$(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/$(TARGET)"
1554
1555 uninstall_target: FORCE
1556 -$(DEL_FILE) "$(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/$(TARGET)"
1557 -$(DEL_DIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/
1558
1559
1560 install_CMSISHEADERS: first FORCE
1561 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/ || $(MKDIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1562 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/CMSIS/Include/core_cmInstr.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1563 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/CMSIS/Include/core_cmFunc.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1564 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/CMSIS/Include/core_cm4_simd.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1565 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/CMSIS/Include/core_cm4.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1566 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/CMSIS/Include/core_cm3.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1567 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/CMSIS/Include/core_cm0.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1568 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/CMSIS/Include/arm_math.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1569 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/CMSIS/Include/arm_common_tables.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1570
1571
1572 uninstall_CMSISHEADERS: FORCE
1573 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/core_cmInstr.h
1574 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/core_cmFunc.h
1575 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/core_cm4_simd.h
1576 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/core_cm4.h
1577 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/core_cm3.h
1578 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/core_cm0.h
1579 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/arm_math.h
1580 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/arm_common_tables.h
1581 -$(DEL_DIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_CMSIS/
1582
1583
1584 install_STLIBHEADERS: first FORCE
1585 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/ || $(MKDIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1586 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1587 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1588 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1589 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_syscfg.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1590 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1591 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_sdio.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1592 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1593 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rng.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1594 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1595 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_pwr.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1596 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_iwdg.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1597 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1598 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_hash.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1599 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1600 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_fsmc.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1601 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_flash.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1602 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_exti.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1603 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dma.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1604 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dcmi.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1605 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dbgmcu.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1606 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dac.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1607 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_cryp.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1608 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1609 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1610 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1611 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/misc.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1612 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx.h $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1613
1614
1615 uninstall_STLIBHEADERS: FORCE
1616 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_wwdg.h
1617 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_usart.h
1618 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_tim.h
1619 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_syscfg.h
1620 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_spi.h
1621 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_sdio.h
1622 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_rtc.h
1623 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_rng.h
1624 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_rcc.h
1625 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_pwr.h
1626 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_iwdg.h
1627 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_i2c.h
1628 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_hash.h
1629 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_gpio.h
1630 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_fsmc.h
1631 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_flash.h
1632 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_exti.h
1633 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_dma.h
1634 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_dcmi.h
1635 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_dbgmcu.h
1636 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_dac.h
1637 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_cryp.h
1638 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_crc.h
1639 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_can.h
1640 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx_adc.h
1641 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/misc.h
1642 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/stm32f4xx.h
1643 -$(DEL_DIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/include/STM32F4xx_StdPeriph_Driver/
1644
1645
1646 install_prifile: first FORCE
1647 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/mkspecs/features/stm32f4/ || $(MKDIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/mkspecs/features/stm32f4/
1648 -$(INSTALL_FILE) /opt/libuc2/lib/src/stm32f4/CPU/cpu.pri $(INSTALL_ROOT)/opt/testlibuc2/libuc2/mkspecs/features/stm32f4/
1649
1650
1651 uninstall_prifile: FORCE
1652 -$(DEL_FILE) -r $(INSTALL_ROOT)/opt/testlibuc2/libuc2/mkspecs/features/stm32f4/cpu.pri
1653 -$(DEL_DIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/mkspecs/features/stm32f4/
1654
1655
1656 install_target: first FORCE
1657 @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/ || $(MKDIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/
1658 -$(INSTALL_FILE) "$(TARGET)" "$(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/$(TARGET)"
1659
1660 uninstall_target: FORCE
1661 -$(DEL_FILE) "$(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/$(TARGET)"
1662 -$(DEL_FILE) "$(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/$(TARGET)"
1663 -$(DEL_DIR) $(INSTALL_ROOT)/opt/testlibuc2/libuc2/lib/stm32f4/
1664
1665
1666 install: install_target install_CMSISHEADERS install_STLIBHEADERS install_prifile install_target FORCE
1667
1668 uninstall: uninstall_target uninstall_CMSISHEADERS uninstall_STLIBHEADERS uninstall_prifile uninstall_target FORCE
1669
1670 FORCE:
1671
@@ -0,0 +1,22
1 #include <optimised_math.h>
2 float32_t optimised_sqrt(float32_t value)
3 {
4 float32_t out;
5 arm_sqrt_f32(value,&out);
6 return out;
7 }
8
9 float optimised_sin(float32_t x)
10 {
11 return arm_sin_f32(x);
12 }
13
14
15
16
17
18
19
20
21
22
@@ -0,0 +1,18
1
2 INCLUDEPATH += $$[QT_INSTALL_HEADERS]/STM32F4xx_StdPeriph_Driver
3 INCLUDEPATH += $$[QT_INSTALL_HEADERS]/STM32F4xx_CMSIS
4
5 LIBS += -L$$[QT_INSTALL_LIBS]/$$UCMODEL
6 LIBS += -lcpu
7
8
9
10
11
12
13
14
15
16
17
18
@@ -0,0 +1,60
1 #include "stm32f4xx.h"
2 #include <stdint.h>
3 #include <stdlib.h>
4 #include <stdio.h>
5 #include <bsp.h>
6 #include <stm32f4xx_rcc.h>
7 #include <core.h>
8 extern int main();
9
10
11
12 void cpu_init()
13 {
14 extern uint32_t currentCpuFreq;
15 currentCpuFreq = 16*1000*1000;
16 enable_FPU();
17 RCC->CR |= (uint32_t)0x00000001;
18 FLASH->ACR = FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS;
19 reset_AHB1();
20 reset_AHB2();
21 reset_APB1();
22 reset_APB2();
23 RCC->CR |= (uint32_t)0x00000001;
24 FLASH->ACR = FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS;
25 RCC->CFGR = 0x00000000;
26 RCC->CIR = 0x00000000;
27 SCB->VTOR = FLASH_BASE;
28 RCC->APB1ENR |= RCC_APB1ENR_PWREN;
29 PWR->CR |= PWR_CR_PMODE;
30 currentCpuFreq=setCpuFreq(currentCpuFreq);
31 currentCpuFreq=getCpuFreq();
32 configureSysTick();
33 bsp_init();
34 printf("SysTick Configured to reach 100us period\n\r");
35 RCC_ClocksTypeDef RCC_ClocksStatus;
36 RCC_GetClocksFreq(&RCC_ClocksStatus);
37 printf("PLL Configured got:\n\r SYS=%uHz\n\r CPU=%uHz\n\r APB1=%uHz\n\r APB2=%uHz\n\r",(unsigned int)RCC_ClocksStatus.SYSCLK_Frequency,(unsigned int)RCC_ClocksStatus.HCLK_Frequency,(unsigned int)RCC_ClocksStatus.PCLK1_Frequency,(unsigned int)RCC_ClocksStatus.PCLK2_Frequency);
38 printf("Enter Main\n\r");
39 int res=main();
40 printf("\n\rprogram exited with code ");
41 printf("%u",res);
42 printf("\n\r");
43 while(1)
44 {
45 delay_100us(10000);
46 gpioset(LED1);
47 delay_100us(10000);
48 gpioclr(LED1);
49 }
50 }
51
52
53
54
55
56
57
58
59
60
@@ -0,0 +1,25
1 #include <stdint.h>
2 #include <streamdevices.h>
3 #include <stdio.h>
4 #include <bsp.h>
5
6 const int32_t __max_opened_files__ = __MAX_OPENED_FILES__;
7 __IO streamdevice* __opnfiles__[__MAX_OPENED_FILES__];
8 const int32_t __fs_root_size__ = __FS_ROOT_SIZE__;
9 int32_t __fs_root__[__FS_ROOT_SIZE__];
10
11
12 /*
13 void __init_fs()
14 {
15 int i=0;
16 for(i=0;i<__fs_root_size__;i++)
17 {
18 __fs_root__[i]=(int32_t)NULL;
19 }
20 for(i=0;i<__max_opened_files__ ;i++)
21 {
22 __opnfiles__[i]._stream=NULL;
23 }
24 }
25 */
@@ -0,0 +1,454
1
2 .syntax unified
3 .cpu cortex-m4
4 /*.fpu softvfp*/
5 .fpu fpv4-sp-d16
6 .thumb
7
8 .global g_pfnVectors
9 .global Default_Handler
10
11 /* start address for the initialization values of the .data section.
12 defined in linker script */
13 .word _sidata
14 /* start address for the .data section. defined in linker script */
15 .word _sdata
16 /* end address for the .data section. defined in linker script */
17 .word _edata
18 /* start address for the .bss section. defined in linker script */
19 .word _sbss
20 /* end address for the .bss section. defined in linker script */
21 .word _ebss
22 /* stack used for SystemInit_ExtMemCtl; always internal RAM used */
23
24
25 .section .text.Reset_Handler
26 .weak Reset_Handler
27 .type Reset_Handler, %function
28 Reset_Handler:
29
30 /* Copy the data segment initializers from flash to SRAM */
31 movs r1, #0
32 b LoopCopyDataInit
33
34 CopyDataInit:
35 ldr r3, =_sidata
36 ldr r3, [r3, r1]
37 str r3, [r0, r1]
38 adds r1, r1, #4
39
40 LoopCopyDataInit:
41 ldr r0, =_sdata
42 ldr r3, =_edata
43 adds r2, r0, r1
44 cmp r2, r3
45 bcc CopyDataInit
46 ldr r2, =_sbss
47 b LoopFillZerobss
48 /* Zero fill the bss segment. */
49 FillZerobss:
50 movs r3, #0
51 str r3, [r2], #4
52
53 LoopFillZerobss:
54 ldr r3, = _ebss
55 cmp r2, r3
56 bcc FillZerobss
57
58 bl cpu_init
59 bx lr
60 .size Reset_Handler, .-Reset_Handler
61
62 .section .text.Default_Handler,"ax",%progbits
63 Default_Handler:
64 Infinite_Loop:
65 b Infinite_Loop
66 .size Default_Handler, .-Default_Handler
67
68
69 .section .isr_vector,"a",%progbits
70 .type g_pfnVectors, %object
71 .size g_pfnVectors, .-g_pfnVectors
72
73
74 g_pfnVectors:
75 .word _estack
76 .word Reset_Handler
77 .word NMI_Handler
78 .word HardFault_Handler
79 .word MemManage_Handler
80 .word BusFault_Handler
81 .word UsageFault_Handler
82 .word 0
83 .word 0
84 .word 0
85 .word 0
86 .word SVC_Handler
87 .word DebugMon_Handler
88 .word 0
89 .word PendSV_Handler
90 .word SysTick_Handler
91
92 /* External Interrupts */
93 .word WWDG_IRQHandler /* Window WatchDog */
94 .word PVD_IRQHandler /* PVD through EXTI Line detection */
95 .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */
96 .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */
97 .word FLASH_IRQHandler /* FLASH */
98 .word RCC_IRQHandler /* RCC */
99 .word EXTI0_IRQHandler /* EXTI Line0 */
100 .word EXTI1_IRQHandler /* EXTI Line1 */
101 .word EXTI2_IRQHandler /* EXTI Line2 */
102 .word EXTI3_IRQHandler /* EXTI Line3 */
103 .word EXTI4_IRQHandler /* EXTI Line4 */
104 .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */
105 .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */
106 .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */
107 .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */
108 .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */
109 .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */
110 .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */
111 .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */
112 .word CAN1_TX_IRQHandler /* CAN1 TX */
113 .word CAN1_RX0_IRQHandler /* CAN1 RX0 */
114 .word CAN1_RX1_IRQHandler /* CAN1 RX1 */
115 .word CAN1_SCE_IRQHandler /* CAN1 SCE */
116 .word EXTI9_5_IRQHandler /* External Line[9:5]s */
117 .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */
118 .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */
119 .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */
120 .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */
121 .word TIM2_IRQHandler /* TIM2 */
122 .word TIM3_IRQHandler /* TIM3 */
123 .word TIM4_IRQHandler /* TIM4 */
124 .word I2C1_EV_IRQHandler /* I2C1 Event */
125 .word I2C1_ER_IRQHandler /* I2C1 Error */
126 .word I2C2_EV_IRQHandler /* I2C2 Event */
127 .word I2C2_ER_IRQHandler /* I2C2 Error */
128 .word SPI1_IRQHandler /* SPI1 */
129 .word SPI2_IRQHandler /* SPI2 */
130 .word USART1_IRQHandler /* USART1 */
131 .word USART2_IRQHandler /* USART2 */
132 .word USART3_IRQHandler /* USART3 */
133 .word EXTI15_10_IRQHandler /* External Line[15:10]s */
134 .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */
135 .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */
136 .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */
137 .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */
138 .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */
139 .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */
140 .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */
141 .word FSMC_IRQHandler /* FSMC */
142 .word SDIO_IRQHandler /* SDIO */
143 .word TIM5_IRQHandler /* TIM5 */
144 .word SPI3_IRQHandler /* SPI3 */
145 .word UART4_IRQHandler /* UART4 */
146 .word UART5_IRQHandler /* UART5 */
147 .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */
148 .word TIM7_IRQHandler /* TIM7 */
149 .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */
150 .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */
151 .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */
152 .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */
153 .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */
154 .word ETH_IRQHandler /* Ethernet */
155 .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */
156 .word CAN2_TX_IRQHandler /* CAN2 TX */
157 .word CAN2_RX0_IRQHandler /* CAN2 RX0 */
158 .word CAN2_RX1_IRQHandler /* CAN2 RX1 */
159 .word CAN2_SCE_IRQHandler /* CAN2 SCE */
160 .word OTG_FS_IRQHandler /* USB OTG FS */
161 .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */
162 .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */
163 .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */
164 .word USART6_IRQHandler /* USART6 */
165 .word I2C3_EV_IRQHandler /* I2C3 event */
166 .word I2C3_ER_IRQHandler /* I2C3 error */
167 .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */
168 .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */
169 .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */
170 .word OTG_HS_IRQHandler /* USB OTG HS */
171 .word DCMI_IRQHandler /* DCMI */
172 .word CRYP_IRQHandler /* CRYP crypto */
173 .word HASH_RNG_IRQHandler /* Hash and Rng */
174 .word FPU_IRQHandler /* FPU */
175
176 /*******************************************************************************
177 *
178 * Provide weak aliases for each Exception handler to the Default_Handler.
179 * As they are weak aliases, any function with the same name will override
180 * this definition.
181 *
182 *******************************************************************************/
183 .weak NMI_Handler
184 .thumb_set NMI_Handler,Default_Handler
185
186 .weak HardFault_Handler
187 .thumb_set HardFault_Handler,Default_Handler
188
189 .weak MemManage_Handler
190 .thumb_set MemManage_Handler,Default_Handler
191
192 .weak BusFault_Handler
193 .thumb_set BusFault_Handler,Default_Handler
194
195 .weak UsageFault_Handler
196 .thumb_set UsageFault_Handler,Default_Handler
197
198 .weak SVC_Handler
199 .thumb_set SVC_Handler,Default_Handler
200
201 .weak DebugMon_Handler
202 .thumb_set DebugMon_Handler,Default_Handler
203
204 .weak PendSV_Handler
205 .thumb_set PendSV_Handler,Default_Handler
206
207 .weak SysTick_Handler
208 .thumb_set SysTick_Handler,Default_Handler
209
210 .weak WWDG_IRQHandler
211 .thumb_set WWDG_IRQHandler,Default_Handler
212
213 .weak PVD_IRQHandler
214 .thumb_set PVD_IRQHandler,Default_Handler
215
216 .weak TAMP_STAMP_IRQHandler
217 .thumb_set TAMP_STAMP_IRQHandler,Default_Handler
218
219 .weak RTC_WKUP_IRQHandler
220 .thumb_set RTC_WKUP_IRQHandler,Default_Handler
221
222 .weak FLASH_IRQHandler
223 .thumb_set FLASH_IRQHandler,Default_Handler
224
225 .weak RCC_IRQHandler
226 .thumb_set RCC_IRQHandler,Default_Handler
227
228 .weak EXTI0_IRQHandler
229 .thumb_set EXTI0_IRQHandler,Default_Handler
230
231 .weak EXTI1_IRQHandler
232 .thumb_set EXTI1_IRQHandler,Default_Handler
233
234 .weak EXTI2_IRQHandler
235 .thumb_set EXTI2_IRQHandler,Default_Handler
236
237 .weak EXTI3_IRQHandler
238 .thumb_set EXTI3_IRQHandler,Default_Handler
239
240 .weak EXTI4_IRQHandler
241 .thumb_set EXTI4_IRQHandler,Default_Handler
242
243 .weak DMA1_Stream0_IRQHandler
244 .thumb_set DMA1_Stream0_IRQHandler,Default_Handler
245
246 .weak DMA1_Stream1_IRQHandler
247 .thumb_set DMA1_Stream1_IRQHandler,Default_Handler
248
249 .weak DMA1_Stream2_IRQHandler
250 .thumb_set DMA1_Stream2_IRQHandler,Default_Handler
251
252 .weak DMA1_Stream3_IRQHandler
253 .thumb_set DMA1_Stream3_IRQHandler,Default_Handler
254
255 .weak DMA1_Stream4_IRQHandler
256 .thumb_set DMA1_Stream4_IRQHandler,Default_Handler
257
258 .weak DMA1_Stream5_IRQHandler
259 .thumb_set DMA1_Stream5_IRQHandler,Default_Handler
260
261 .weak DMA1_Stream6_IRQHandler
262 .thumb_set DMA1_Stream6_IRQHandler,Default_Handler
263
264 .weak ADC_IRQHandler
265 .thumb_set ADC_IRQHandler,Default_Handler
266
267 .weak CAN1_TX_IRQHandler
268 .thumb_set CAN1_TX_IRQHandler,Default_Handler
269
270 .weak CAN1_RX0_IRQHandler
271 .thumb_set CAN1_RX0_IRQHandler,Default_Handler
272
273 .weak CAN1_RX1_IRQHandler
274 .thumb_set CAN1_RX1_IRQHandler,Default_Handler
275
276 .weak CAN1_SCE_IRQHandler
277 .thumb_set CAN1_SCE_IRQHandler,Default_Handler
278
279 .weak EXTI9_5_IRQHandler
280 .thumb_set EXTI9_5_IRQHandler,Default_Handler
281
282 .weak TIM1_BRK_TIM9_IRQHandler
283 .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler
284
285 .weak TIM1_UP_TIM10_IRQHandler
286 .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler
287
288 .weak TIM1_TRG_COM_TIM11_IRQHandler
289 .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler
290
291 .weak TIM1_CC_IRQHandler
292 .thumb_set TIM1_CC_IRQHandler,Default_Handler
293
294 .weak TIM2_IRQHandler
295 .thumb_set TIM2_IRQHandler,Default_Handler
296
297 .weak TIM3_IRQHandler
298 .thumb_set TIM3_IRQHandler,Default_Handler
299
300 .weak TIM4_IRQHandler
301 .thumb_set TIM4_IRQHandler,Default_Handler
302
303 .weak I2C1_EV_IRQHandler
304 .thumb_set I2C1_EV_IRQHandler,Default_Handler
305
306 .weak I2C1_ER_IRQHandler
307 .thumb_set I2C1_ER_IRQHandler,Default_Handler
308
309 .weak I2C2_EV_IRQHandler
310 .thumb_set I2C2_EV_IRQHandler,Default_Handler
311
312 .weak I2C2_ER_IRQHandler
313 .thumb_set I2C2_ER_IRQHandler,Default_Handler
314
315 .weak SPI1_IRQHandler
316 .thumb_set SPI1_IRQHandler,Default_Handler
317
318 .weak SPI2_IRQHandler
319 .thumb_set SPI2_IRQHandler,Default_Handler
320
321 .weak USART1_IRQHandler
322 .thumb_set USART1_IRQHandler,Default_Handler
323
324 .weak USART2_IRQHandler
325 .thumb_set USART2_IRQHandler,Default_Handler
326
327 .weak USART3_IRQHandler
328 .thumb_set USART3_IRQHandler,Default_Handler
329
330 .weak EXTI15_10_IRQHandler
331 .thumb_set EXTI15_10_IRQHandler,Default_Handler
332
333 .weak RTC_Alarm_IRQHandler
334 .thumb_set RTC_Alarm_IRQHandler,Default_Handler
335
336 .weak OTG_FS_WKUP_IRQHandler
337 .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler
338
339 .weak TIM8_BRK_TIM12_IRQHandler
340 .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler
341
342 .weak TIM8_UP_TIM13_IRQHandler
343 .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler
344
345 .weak TIM8_TRG_COM_TIM14_IRQHandler
346 .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler
347
348 .weak TIM8_CC_IRQHandler
349 .thumb_set TIM8_CC_IRQHandler,Default_Handler
350
351 .weak DMA1_Stream7_IRQHandler
352 .thumb_set DMA1_Stream7_IRQHandler,Default_Handler
353
354 .weak FSMC_IRQHandler
355 .thumb_set FSMC_IRQHandler,Default_Handler
356
357 .weak SDIO_IRQHandler
358 .thumb_set SDIO_IRQHandler,Default_Handler
359
360 .weak TIM5_IRQHandler
361 .thumb_set TIM5_IRQHandler,Default_Handler
362
363 .weak SPI3_IRQHandler
364 .thumb_set SPI3_IRQHandler,Default_Handler
365
366 .weak UART4_IRQHandler
367 .thumb_set UART4_IRQHandler,Default_Handler
368
369 .weak UART5_IRQHandler
370 .thumb_set UART5_IRQHandler,Default_Handler
371
372 .weak TIM6_DAC_IRQHandler
373 .thumb_set TIM6_DAC_IRQHandler,Default_Handler
374
375 .weak TIM7_IRQHandler
376 .thumb_set TIM7_IRQHandler,Default_Handler
377
378 .weak DMA2_Stream0_IRQHandler
379 .thumb_set DMA2_Stream0_IRQHandler,Default_Handler
380
381 .weak DMA2_Stream1_IRQHandler
382 .thumb_set DMA2_Stream1_IRQHandler,Default_Handler
383
384 .weak DMA2_Stream2_IRQHandler
385 .thumb_set DMA2_Stream2_IRQHandler,Default_Handler
386
387 .weak DMA2_Stream3_IRQHandler
388 .thumb_set DMA2_Stream3_IRQHandler,Default_Handler
389
390 .weak DMA2_Stream4_IRQHandler
391 .thumb_set DMA2_Stream4_IRQHandler,Default_Handler
392
393 .weak ETH_IRQHandler
394 .thumb_set ETH_IRQHandler,Default_Handler
395
396 .weak ETH_WKUP_IRQHandler
397 .thumb_set ETH_WKUP_IRQHandler,Default_Handler
398
399 .weak CAN2_TX_IRQHandler
400 .thumb_set CAN2_TX_IRQHandler,Default_Handler
401
402 .weak CAN2_RX0_IRQHandler
403 .thumb_set CAN2_RX0_IRQHandler,Default_Handler
404
405 .weak CAN2_RX1_IRQHandler
406 .thumb_set CAN2_RX1_IRQHandler,Default_Handler
407
408 .weak CAN2_SCE_IRQHandler
409 .thumb_set CAN2_SCE_IRQHandler,Default_Handler
410
411 .weak OTG_FS_IRQHandler
412 .thumb_set OTG_FS_IRQHandler,Default_Handler
413
414 .weak DMA2_Stream5_IRQHandler
415 .thumb_set DMA2_Stream5_IRQHandler,Default_Handler
416
417 .weak DMA2_Stream6_IRQHandler
418 .thumb_set DMA2_Stream6_IRQHandler,Default_Handler
419
420 .weak DMA2_Stream7_IRQHandler
421 .thumb_set DMA2_Stream7_IRQHandler,Default_Handler
422
423 .weak USART6_IRQHandler
424 .thumb_set USART6_IRQHandler,Default_Handler
425
426 .weak I2C3_EV_IRQHandler
427 .thumb_set I2C3_EV_IRQHandler,Default_Handler
428
429 .weak I2C3_ER_IRQHandler
430 .thumb_set I2C3_ER_IRQHandler,Default_Handler
431
432 .weak OTG_HS_EP1_OUT_IRQHandler
433 .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler
434
435 .weak OTG_HS_EP1_IN_IRQHandler
436 .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler
437
438 .weak OTG_HS_WKUP_IRQHandler
439 .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler
440
441 .weak OTG_HS_IRQHandler
442 .thumb_set OTG_HS_IRQHandler,Default_Handler
443
444 .weak DCMI_IRQHandler
445 .thumb_set DCMI_IRQHandler,Default_Handler
446
447 .weak CRYP_IRQHandler
448 .thumb_set CRYP_IRQHandler,Default_Handler
449
450 .weak HASH_RNG_IRQHandler
451 .thumb_set HASH_RNG_IRQHandler,Default_Handler
452
453 .weak FPU_IRQHandler
454 .thumb_set FPU_IRQHandler,Default_Handler
@@ -0,0 +1,171
1 /*
2 *****************************************************************************
3 **
4 ** File : stm32_flash.ld
5 **
6 ** Abstract : Linker script for STM32F407VG Device with
7 ** 1024KByte FLASH, 192KByte RAM
8 **
9 ** Set heap size, stack size and stack location according
10 ** to application requirements.
11 **
12 ** Set memory bank area and size if external memory is used.
13 **
14 ** Target : STMicroelectronics STM32
15 **
16 ** Environment : Atollic TrueSTUDIO(R)
17 **
18 ** Distribution: The file is distributed �as is,� without any warranty
19 ** of any kind.
20 **
21 ** (c)Copyright Atollic AB.
22 ** You may use this file as-is or modify it according to the needs of your
23 ** project. Distribution of this file (unmodified or modified) is not
24 ** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the
25 ** rights to distribute the assembled, compiled & linked contents of this
26 ** file as part of an application binary file, provided that it is built
27 ** using the Atollic TrueSTUDIO(R) toolchain.
28 **
29 *****************************************************************************
30 */
31
32 /* Entry Point */
33 ENTRY(Reset_Handler)
34
35 /* Highest address of the user mode stack */
36 _estack = 0x20020000; /* end of 128K RAM on AHB bus*/
37
38 /* Generate a link error if heap and stack don't fit into RAM */
39 _Min_Heap_Size = 0; /* required amount of heap */
40 _Min_Stack_Size = 0x1000; /* required amount of stack */
41
42 /* Specify the memory areas */
43 MEMORY
44 {
45 FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024k
46 RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 112k
47 CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64k
48 MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K
49 }
50
51 /* Define output sections */
52 SECTIONS
53 {
54 /* The startup code goes first into FLASH */
55 .isr_vector :
56 {
57 . = ALIGN(4);
58 KEEP(*(.isr_vector)) /* Startup code */
59 . = ALIGN(4);
60 } >FLASH
61
62 /* The program code and other data goes into FLASH */
63 .text :
64 {
65 . = ALIGN(4);
66 *(.text) /* .text sections (code) */
67 *(.text*) /* .text* sections (code) */
68 *(.rodata) /* .rodata sections (constants, strings, etc.) */
69 *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
70 *(.glue_7) /* glue arm to thumb code */
71 *(.glue_7t) /* glue thumb to arm code */
72 *(.eh_frame)
73
74 KEEP (*(.init))
75 KEEP (*(.fini))
76
77 . = ALIGN(4);
78 _etext = .; /* define a global symbols at end of code */
79 } >FLASH
80
81
82 .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
83 .ARM : {
84 __exidx_start = .;
85 *(.ARM.exidx*)
86 __exidx_end = .;
87 } >FLASH
88
89 .preinit_array :
90 {
91 PROVIDE_HIDDEN (__preinit_array_start = .);
92 KEEP (*(.preinit_array*))
93 PROVIDE_HIDDEN (__preinit_array_end = .);
94 } >FLASH
95 .init_array :
96 {
97 PROVIDE_HIDDEN (__init_array_start = .);
98 KEEP (*(SORT(.init_array.*)))
99 KEEP (*(.init_array*))
100 PROVIDE_HIDDEN (__init_array_end = .);
101 } >FLASH
102 .fini_array :
103 {
104 PROVIDE_HIDDEN (__fini_array_start = .);
105 KEEP (*(.fini_array*))
106 KEEP (*(SORT(.fini_array.*)))
107 PROVIDE_HIDDEN (__fini_array_end = .);
108 } >FLASH
109
110 /* used by the startup to initialize data */
111 _sidata = .;
112
113 /* Initialized data sections goes into RAM, load LMA copy after code */
114 .data : AT ( _sidata )
115 {
116 . = ALIGN(4);
117 _sdata = .; /* create a global symbol at data start */
118 *(.data) /* .data sections */
119 *(.data*) /* .data* sections */
120
121 . = ALIGN(4);
122 _edata = .; /* define a global symbol at data end */
123 } >RAM
124
125 /* Uninitialized data section */
126 . = ALIGN(4);
127 .bss :
128 {
129 /* This is used by the startup in order to initialize the .bss secion */
130 _sbss = .; /* define a global symbol at bss start */
131 __bss_start__ = _sbss;
132 *(.bss)
133 *(.bss*)
134 *(COMMON)
135
136 . = ALIGN(4);
137 _ebss = .; /* define a global symbol at bss end */
138 __bss_end__ = _ebss;
139 } >RAM
140
141 /* User_heap_stack section, used to check that there is enough RAM left */
142 ._user_heap_stack :
143 {
144 . = ALIGN(4);
145 PROVIDE ( end = . );
146 PROVIDE ( _end = . );
147 . = . + _Min_Heap_Size;
148 . = . + _Min_Stack_Size;
149 . = ALIGN(4);
150 } >RAM
151
152 /* MEMORY_bank1 section, code must be located here explicitly */
153 /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */
154 .memory_b1_text :
155 {
156 *(.mb1text) /* .mb1text sections (code) */
157 *(.mb1text*) /* .mb1text* sections (code) */
158 *(.mb1rodata) /* read-only data (constants) */
159 *(.mb1rodata*)
160 } >MEMORY_B1
161
162 /* Remove information from the standard libraries */
163 /DISCARD/ :
164 {
165 libc.a ( * )
166 libm.a ( * )
167 libgcc.a ( * )
168 }
169
170 .ARM.attributes 0 : { *(.ARM.attributes) }
171 }
@@ -0,0 +1,261
1 #include <stdlib.h>
2 #include <errno.h>
3 #include <string.h>
4 #include <sys/stat.h>
5 #include <sys/types.h>
6 #include <sys/times.h>
7 #include <streamdevices.h>
8 #include <string.h>
9 #include <stdio.h>
10 #include <gpio.h>
11 #include <uart.h>
12 #include <stdint.h>
13
14 #undef errno
15
16
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 extern int errno;
22 extern int32_t __max_opened_files__;
23 extern streamdevice* __opnfiles__[];
24 extern int32_t* __fs_root__;
25 extern int32_t __fs_root_size__;
26
27 char *__env[1] = { 0 };
28 char **environ = __env;
29
30 int _exit()
31 {
32 while(1);
33 }
34
35 int _close(int file)
36 {
37 if(file<__max_opened_files__ && __opnfiles__[file]!=NULL)
38 {
39 return __opnfiles__[file]->close((streamdeviceptr) __opnfiles__[file]);
40 }
41 return 0;
42 }
43
44
45 int _write(int file, char *ptr, int len)
46 {
47 if(file<__max_opened_files__ && __opnfiles__[file]!=NULL)
48 {
49 if(__opnfiles__[file]->write((streamdeviceptr)__opnfiles__[file],ptr,1,len)) return len;
50 }
51 return 0;
52 }
53
54 int _execve(char *name, char **argv, char **env) {
55 errno = ENOMEM;
56 return -1;
57 }
58
59
60 int _fork(void) {
61 errno = EAGAIN;
62 return -1;
63 }
64
65 int _fstat(int file, struct stat *st) {
66 st->st_mode = S_IFCHR;
67 return 0;
68 }
69
70
71 int _getpid(void) {
72 return 1;
73 }
74
75
76 int _isatty(int file) {
77 return 1;
78 }
79
80
81 int _kill(int pid, int sig) {
82 errno = EINVAL;
83 return -1;
84 }
85
86
87 int _link(char *old, char *_new) {
88 errno = EMLINK;
89 return -1;
90 }
91
92
93 int _lseek(int file, int ptr, int dir) {
94 return 0;
95 }
96
97 #include <gpio.h>
98
99 int _open(const char *name, int flags, int mode)
100 {
101 if(!strncmp("UART", name, 4) && ((name[4] & 0x30)==0x30))
102 {
103 //uart_t* uart1 = malloc(sizeof(uart_t));
104 streamdevice* fd1 = malloc(sizeof(streamdevice));
105 uart_t uart=uartopen((name[4] & 0xF)-1);
106 if(uart!=-1);
107 {
108 uartmkstreamdev(uart,fd1);
109 int i=2;
110 while(i<__max_opened_files__ && __opnfiles__[i]!=NULL)i++;
111 if(i!=__max_opened_files__)
112 {
113 __opnfiles__[i] = fd1;
114 return i;
115 }
116 else printf("Too much files opened\n\r");
117 }
118 }
119 return -1;
120 }
121
122 int _read(int file, char *ptr, int len) {
123 if(file<__max_opened_files__ && __opnfiles__[file]!=NULL)
124 {
125 if(__opnfiles__[file]->read((streamdeviceptr)__opnfiles__[file],ptr,1,len)) return len;
126 }
127 return 0;
128 }
129
130
131
132 caddr_t _sbrk(int incr) {
133 register char * stack_ptr __asm__ ("sp");
134 extern char _end; /* Defined by the linker */
135 static char *heap_end;
136 char *prev_heap_end;
137 if (heap_end == 0) {
138 heap_end = &_end;
139 }
140 prev_heap_end = heap_end;
141 if (heap_end + incr > stack_ptr) {
142 _write (1, "Heap and stack collision\n", 25);
143 abort ();
144 }
145 heap_end += incr;
146 return (caddr_t) prev_heap_end;
147 }
148
149
150
151 int _stat(char *file, struct stat *st) {
152 st->st_mode = S_IFCHR;
153 return 0;
154 }
155
156
157 int _times(struct tms *buf) {
158 return -1;
159 }
160
161
162 int _unlink(char *name) {
163 errno = ENOENT;
164 return -1;
165 }
166
167 int _wait(int *status) {
168 errno = ECHILD;
169 return -1;
170 }
171
172
173 int _read_r (struct _reent *r, int file, char * ptr, int len)
174 {
175 r = r;
176 file = file;
177 ptr = ptr;
178 len = len;
179 _read(file,ptr,len);
180 errno = EINVAL;
181 return -1;
182 }
183
184 /***************************************************************************/
185
186 int _lseek_r (struct _reent *r, int file, int ptr, int dir)
187 {
188 r = r;
189 file = file;
190 ptr = ptr;
191 dir = dir;
192
193 return 0;
194 }
195
196 /***************************************************************************/
197
198 int _write_r (struct _reent *r, int file, char * ptr, int len)
199 {
200 return _write(file, ptr, len);
201 }
202
203 /***************************************************************************/
204
205 int _close_r (struct _reent *r, int file)
206 {
207 return 0;
208 }
209
210 /***************************************************************************/
211
212 caddr_t _sbrk_r (struct _reent *r, int incr)
213 {
214 register char * stack_ptr __asm__ ("sp");
215 extern char _end; /* Defined by the linker */
216 static char *heap_end;
217 char *prev_heap_end;
218 if (heap_end == 0) {
219 heap_end = &_end;
220 }
221 prev_heap_end = heap_end;
222 if (heap_end + incr > stack_ptr) {
223 _write (1, "Heap and stack collision\n", 25);
224 abort ();
225 }
226 heap_end += incr;
227 return (caddr_t) prev_heap_end;
228 }
229
230 /***************************************************************************/
231
232 int _fstat_r (struct _reent *r, int file, struct stat * st)
233 {
234 r = r;
235 file = file;
236
237 memset (st, 0, sizeof (* st));
238 st->st_mode = S_IFCHR;
239 return 0;
240 }
241
242 /***************************************************************************/
243 int _open_r(struct _reent *r,const char *name, int flags, int mode)
244 {
245 return _open(name, flags, mode);
246 }
247
248 int _isatty_r(struct _reent *r, int fd)
249 {
250 r = r;
251 fd = fd;
252
253 return 1;
254 }
255
256
257 #ifdef __cplusplus
258 }
259 #endif
260
261
@@ -0,0 +1,41
1 #
2 # qmake configuration for arm-none-eabi
3 #
4
5 CONFIG +=
6 QMAKE_CC = arm-none-eabi-gcc
7 QMAKE_CFLAGS +=
8 QMAKE_CFLAGS_DEPS += -M
9 QMAKE_CFLAGS_WARN_ON += -Wall
10 QMAKE_CFLAGS_WARN_OFF += -w
11 QMAKE_CFLAGS_RELEASE += -O2
12 QMAKE_CFLAGS_DEBUG += -g -O0
13
14 QMAKE_CXX = arm-none-eabi-g++
15 QMAKE_CXXFLAGS += $$QMAKE_CFLAGS s
16 QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
17 QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
18 QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
19 QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
20 QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
21 QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
22 QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
23 QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
24 QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS
25
26 QMAKE_LINK = arm-none-eabi-gcc
27 QMAKE_LINK_SHLIB = arm-none-eabi-gcc
28 QMAKE_LINK_C = arm-none-eabi-gcc
29 QMAKE_LINK_C_SHLIB = arm-none-eabi-gcc
30 QMAKE_LFLAGS +=
31 QMAKE_LFLAGS_RELEASE +=
32 QMAKE_LFLAGS_DEBUG +=
33 QMAKE_LFLAGS_APP +=
34 QMAKE_LFLAGS_SHLIB +=
35 QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
36 QMAKE_LFLAGS_THREAD +=
37
38 QMAKE_AR = arm-none-eabi-ar -ru
39 QMAKE_LIB = arm-none-eabi-ar -ru
40 QMAKE_RANLIB =
41
@@ -0,0 +1,13
1
2 INCLUDEPATH += $$[QT_INSTALL_HEADERS] \
3 $$[QT_INSTALL_HEADERS]/GRAPHIC/CONTROLERS \
4 $$[QT_INSTALL_HEADERS]/GRAPHIC/GUI/FONTS \
5 $$[QT_INSTALL_HEADERS]/GRAPHIC/GUI/Widgets \
6 $$[QT_INSTALL_HEADERS]/$$ARCH
7
8
9 LIBS += -L$$[QT_INSTALL_LIBS]/$$ARCH -lCS43L22 -lina226 -lili9328 -lfonts -lsdcard -lfat32 -lmbr -luart -li2c -lgpio -lspi -lcpu -lcore -lm
10
11
12
13
@@ -0,0 +1,67
1 #
2 # qmake configuration for common linux
3 #
4
5 QMAKE_CFLAGS_THREAD += -D_REENTRANT
6 QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
7
8 QMAKE_INCDIR =
9 QMAKE_LIBDIR =
10 QMAKE_INCDIR_X11 = /usr/X11R6/include
11 QMAKE_LIBDIR_X11 = /usr/X11R6/lib
12 QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
13 QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
14 QMAKE_INCDIR_OPENGL = /usr/X11R6/include
15 QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
16 QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
17 QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
18 QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
19 QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
20 QMAKE_INCDIR_EGL =
21 QMAKE_LIBDIR_EGL =
22 QMAKE_INCDIR_OPENVG =
23 QMAKE_LIBDIR_OPENVG =
24
25 QMAKE_LIBS =
26 QMAKE_LIBS_DYNLOAD = -ldl
27 QMAKE_LIBS_X11 = -lXext -lX11 -lm
28 QMAKE_LIBS_X11SM = -lSM -lICE
29 QMAKE_LIBS_NIS = -lnsl
30 QMAKE_LIBS_EGL = -lEGL
31 QMAKE_LIBS_OPENGL = -lGL
32 QMAKE_LIBS_OPENGL_QT = -lGL
33 QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
34 QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
35 QMAKE_LIBS_OPENVG = -lOpenVG
36 QMAKE_LIBS_THREAD = -lpthread
37
38 QMAKE_CFLAGS_WAYLAND =
39 QMAKE_INCDIR_WAYLAND =
40 QMAKE_LIBS_WAYLAND =
41 QMAKE_LIBDIR_WAYLAND =
42 QMAKE_DEFINES_WAYLAND =
43
44 QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
45 QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
46
47 QMAKE_AR = ar cqs
48 QMAKE_OBJCOPY = objcopy
49 QMAKE_RANLIB =
50
51 QMAKE_TAR = tar -cf
52 QMAKE_GZIP = gzip -9f
53
54 QMAKE_COPY = cp -f
55 QMAKE_COPY_FILE = $(COPY)
56 QMAKE_COPY_DIR = $(COPY) -r
57 QMAKE_MOVE = mv -f
58 QMAKE_DEL_FILE = rm -f
59 QMAKE_DEL_DIR = rmdir
60 QMAKE_STRIP = strip
61 QMAKE_STRIPFLAGS_LIB += --strip-unneeded
62 QMAKE_CHK_DIR_EXISTS = test -d
63 QMAKE_MKDIR = mkdir -p
64 QMAKE_INSTALL_FILE = install -m 644 -p
65 QMAKE_INSTALL_PROGRAM = install -m 755 -p
66
67 include(unix.conf)
@@ -0,0 +1,44
1 #
2 # qmake configuration for common Mac OS X
3 #
4
5 QMAKE_RESOURCE = /Developer/Tools/Rez
6
7 QMAKE_EXTENSION_SHLIB = dylib
8
9 QMAKE_LIBDIR =
10 QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
11 QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
12 QMAKE_INCDIR_OPENGL = /System/Library/Frameworks/OpenGL.framework/Headers \
13 /System/Library/Frameworks/AGL.framework/Headers/
14
15 QMAKE_FIX_RPATH = install_name_tool -id
16
17 QMAKE_LFLAGS_RPATH =
18
19 QMAKE_LIBS_DYNLOAD =
20 QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL
21 QMAKE_LIBS_OPENGL_QT = $$QMAKE_LIBS_OPENGL
22 QMAKE_LIBS_THREAD =
23
24 QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
25 QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
26
27 QMAKE_AR = ar cq
28 QMAKE_RANLIB = ranlib -s
29
30 QMAKE_TAR = tar -cf
31 QMAKE_GZIP = gzip -9f
32
33 QMAKE_COPY = cp -f
34 QMAKE_COPY_FILE = $$QMAKE_COPY
35 QMAKE_COPY_DIR = $$QMAKE_COPY -R
36 QMAKE_MOVE = mv -f
37 QMAKE_DEL_FILE = rm -f
38 QMAKE_DEL_DIR = rmdir
39 QMAKE_CHK_DIR_EXISTS = test -d
40 QMAKE_MKDIR = mkdir -p
41 QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 # overridden to 10.5 for Cocoa on the compiler command line
42
43
44 include(unix.conf)
@@ -0,0 +1,97
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the qmake spec of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 #ifndef QPLATFORMDEFS_H
43 #define QPLATFORMDEFS_H
44
45 // Get Qt defines/settings
46
47 #include "qglobal.h"
48
49 // Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
50
51 #include <unistd.h>
52
53
54 // We are hot - unistd.h should have turned on the specific APIs we requested
55
56
57 #include <pthread.h>
58 #include <dirent.h>
59 #include <fcntl.h>
60 #include <grp.h>
61 #include <pwd.h>
62 #include <signal.h>
63 #define QT_NO_LIBRARY_UNLOAD
64
65 #include <sys/types.h>
66 #include <sys/ioctl.h>
67 #include <sys/ipc.h>
68 #include <sys/time.h>
69 #include <sys/shm.h>
70 #include <sys/socket.h>
71 #include <sys/stat.h>
72 #include <sys/wait.h>
73 #include <netinet/in.h>
74 #ifndef QT_NO_IPV6IFNAME
75 #include <net/if.h>
76 #endif
77
78 #include "../posix/qplatformdefs.h"
79
80 #undef QT_OPEN_LARGEFILE
81 #undef QT_SOCKLEN_T
82 #undef QT_SIGNAL_IGNORE
83
84 #define QT_OPEN_LARGEFILE 0
85
86 #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)
87 #define QT_SOCKLEN_T socklen_t
88 #else
89 #define QT_SOCKLEN_T int
90 #endif
91
92 #define QT_SIGNAL_IGNORE (void (*)(int))1
93
94 #define QT_SNPRINTF ::snprintf
95 #define QT_VSNPRINTF ::vsnprintf
96
97 #endif // QPLATFORMDEFS_H
@@ -0,0 +1,164
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the qmake spec of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 #ifndef Q_POSIX_QPLATFORMDEFS_H
43 #define Q_POSIX_QPLATFORMDEFS_H
44
45 #include <signal.h>
46
47 #include <sys/types.h>
48 #ifndef QT_NO_SOCKET_H
49 # include <sys/socket.h>
50 #endif
51 #include <sys/stat.h>
52
53 #if defined(QT_USE_XOPEN_LFS_EXTENSIONS) && defined(QT_LARGEFILE_SUPPORT)
54
55 #define QT_STATBUF struct stat64
56 #define QT_FPOS_T fpos64_t
57 #define QT_OFF_T off64_t
58
59 #define QT_STAT ::stat64
60 #define QT_LSTAT ::lstat64
61 #define QT_TRUNCATE ::truncate64
62
63 // File I/O
64 #define QT_OPEN ::open64
65 #define QT_LSEEK ::lseek64
66 #define QT_FSTAT ::fstat64
67 #define QT_FTRUNCATE ::ftruncate64
68
69 // Standard C89
70 #define QT_FOPEN ::fopen64
71 #define QT_FSEEK ::fseeko64
72 #define QT_FTELL ::ftello64
73 #define QT_FGETPOS ::fgetpos64
74 #define QT_FSETPOS ::fsetpos64
75
76 #define QT_MMAP ::mmap64
77
78 #else // !defined(QT_USE_XOPEN_LFS_EXTENSIONS) || !defined(QT_LARGEFILE_SUPPORT)
79
80 #include "../c89/qplatformdefs.h"
81
82 #define QT_STATBUF struct stat
83
84 #define QT_STAT ::stat
85 #define QT_LSTAT ::lstat
86 #define QT_TRUNCATE ::truncate
87
88 // File I/O
89 #define QT_OPEN ::open
90 #define QT_LSEEK ::lseek
91 #define QT_FSTAT ::fstat
92 #define QT_FTRUNCATE ::ftruncate
93
94 // Posix extensions to C89
95 #if !defined(QT_USE_XOPEN_LFS_EXTENSIONS) && !defined(QT_NO_USE_FSEEKO)
96 #undef QT_OFF_T
97 #undef QT_FSEEK
98 #undef QT_FTELL
99
100 #define QT_OFF_T off_t
101
102 #define QT_FSEEK ::fseeko
103 #define QT_FTELL ::ftello
104 #endif
105
106 #define QT_MMAP ::mmap
107
108 #endif // !defined (QT_USE_XOPEN_LFS_EXTENSIONS) || !defined(QT_LARGEFILE_SUPPORT)
109
110 #define QT_STAT_MASK S_IFMT
111 #define QT_STAT_REG S_IFREG
112 #define QT_STAT_DIR S_IFDIR
113 #define QT_STAT_LNK S_IFLNK
114
115 #define QT_ACCESS ::access
116 #define QT_GETCWD ::getcwd
117 #define QT_CHDIR ::chdir
118 #define QT_MKDIR ::mkdir
119 #define QT_RMDIR ::rmdir
120
121 // File I/O
122 #define QT_CLOSE ::close
123 #define QT_READ ::read
124 #define QT_WRITE ::write
125
126 #define QT_OPEN_LARGEFILE O_LARGEFILE
127 #define QT_OPEN_RDONLY O_RDONLY
128 #define QT_OPEN_WRONLY O_WRONLY
129 #define QT_OPEN_RDWR O_RDWR
130 #define QT_OPEN_CREAT O_CREAT
131 #define QT_OPEN_TRUNC O_TRUNC
132 #define QT_OPEN_APPEND O_APPEND
133
134 // Posix extensions to C89
135 #define QT_FILENO fileno
136
137 // Directory iteration
138 #define QT_DIR DIR
139
140 #define QT_OPENDIR ::opendir
141 #define QT_CLOSEDIR ::closedir
142
143 #if defined(QT_LARGEFILE_SUPPORT) \
144 && defined(QT_USE_XOPEN_LFS_EXTENSIONS) \
145 && !defined(QT_NO_READDIR64)
146 #define QT_DIRENT struct dirent64
147 #define QT_READDIR ::readdir64
148 #define QT_READDIR_R ::readdir64_r
149 #else
150 #define QT_DIRENT struct dirent
151 #define QT_READDIR ::readdir
152 #define QT_READDIR_R ::readdir_r
153 #endif
154
155 #define QT_SOCKLEN_T socklen_t
156
157 #define QT_SOCKET_CONNECT ::connect
158 #define QT_SOCKET_BIND ::bind
159
160 #define QT_SIGNAL_RETTYPE void
161 #define QT_SIGNAL_ARGS int
162 #define QT_SIGNAL_IGNORE SIG_IGN
163
164 #endif // include guard
@@ -0,0 +1,41
1 #
2 # This file is used as a basis for the following compilers:
3 #
4 # - The QNX qcc compiler
5 #
6 # The only differences between this and gcc-base.conf is that -pipe is removed
7 # as it's on by default in qcc (and has an analogous -nopipe option) and we
8 # add -Wno-psabi to prevent lots of warnings about va_list mangling
9 #
10
11 QMAKE_CFLAGS += -Wno-psabi
12 QMAKE_CFLAGS_DEPS += -M
13 QMAKE_CFLAGS_WARN_ON += -Wall -W
14 QMAKE_CFLAGS_WARN_OFF += -w
15 QMAKE_CFLAGS_RELEASE += -O2
16 QMAKE_CFLAGS_DEBUG += -g
17 QMAKE_CFLAGS_SHLIB += -fPIC -shared
18 QMAKE_CFLAGS_STATIC_LIB += -fPIC
19 QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
20 QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
21
22 QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -lang-c++
23 QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
24 QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
25 QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
26 QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
27 QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
28 QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
29 QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
30 QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
31 QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
32
33 QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
34 QMAKE_CFLAGS_USE_PRECOMPILE = -Wc,-include -Wc,${QMAKE_PCH_OUTPUT_BASE}
35 QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
36 QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
37
38 QMAKE_LFLAGS += -lang-c++
39
40 DEFINES += QT_NO_IMPORT_QT47_QML
41
@@ -0,0 +1,22
1 #
2 # qmake configuration common for QWS
3 #
4
5 MAKEFILE_GENERATOR = UNIX
6 TARGET_PLATFORM = unix
7 TEMPLATE = app
8 CONFIG += qt warn_on release incremental link_prl
9 QT += core gui network
10 QMAKE_INCREMENTAL_STYLE = sublib
11
12 # modifications to linux.conf
13 QMAKE_INCDIR_X11 =
14 QMAKE_LIBDIR_X11 =
15 QMAKE_INCDIR_OPENGL =
16 QMAKE_LIBDIR_OPENGL =
17 QMAKE_INCDIR_OPENGL_ES1 =
18 QMAKE_LIBDIR_OPENGL_ES1 =
19 QMAKE_INCDIR_OPENGL_ES2 =
20 QMAKE_LIBDIR_OPENGL_ES2 =
21 QMAKE_LIBS_X11 =
22 QMAKE_LIBS_X11SM =
@@ -0,0 +1,14
1 #
2 # qmake configuration for common unix
3 #
4
5 QMAKE_LEX = flex
6 QMAKE_LEXFLAGS +=
7 QMAKE_YACC = yacc
8 QMAKE_YACCFLAGS += -d
9 QMAKE_YACCFLAGS_MANGLE += -p $base -b $base
10 QMAKE_YACC_HEADER = $base.tab.h
11 QMAKE_YACC_SOURCE = $base.tab.c
12 QMAKE_PREFIX_SHLIB = lib
13 QMAKE_PREFIX_STATICLIB = lib
14 QMAKE_EXTENSION_STATICLIB = a
@@ -0,0 +1,94
1 #
2 # qmake configuration for common Windows CE
3 #
4
5 MAKEFILE_GENERATOR = MSVC.NET
6 TEMPLATE = app
7 QT += core gui
8 CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
9
10 DEFINES += UNDER_CE WINCE _WINDOWS _UNICODE UNICODE _WIN32 QT_NO_PRINTER QT_NO_PRINTDIALOG
11
12 QMAKE_COMPILER_DEFINES += _MSC_VER=1400
13
14 QMAKE_CC = cl
15 QMAKE_LEX = flex
16 QMAKE_LEXFLAGS =
17 QMAKE_YACC = byacc
18 QMAKE_YACCFLAGS = -d
19 QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-
20 QMAKE_CFLAGS_WARN_ON = -W3
21 QMAKE_CFLAGS_WARN_OFF = -W0
22 QMAKE_CFLAGS_RELEASE = -O2 -MD
23 QMAKE_CFLAGS_LTCG = -GL
24 QMAKE_CFLAGS_DEBUG = -DDEBUG -D_DEBUG -Zi -MDd
25 QMAKE_CFLAGS_YACC =
26
27 # Uncomment the following lines to reduce library sizes
28 # with potential cost of performance
29 # QMAKE_CFLAGS += -Os
30 # QMAKE_CFLAGS_RELEASE += -Os
31
32 QMAKE_CXX = $$QMAKE_CC
33 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
34 QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
35 QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
36 QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
37 QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
38 QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
39 QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
40 QMAKE_CXXFLAGS_STL_ON = -EHsc
41 QMAKE_CXXFLAGS_STL_OFF =
42 QMAKE_CXXFLAGS_RTTI_ON = -GR
43 QMAKE_CXXFLAGS_RTTI_OFF =
44 QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
45 QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -EHs-c-
46
47 QMAKE_INCDIR =
48 QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
49 QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
50
51 QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
52 QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
53 QMAKE_RUN_CC_IMP_BATCH = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
54 QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
55 QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $<
56 QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
57
58 QMAKE_LINK = link
59 QMAKE_LFLAGS = /NOLOGO /NODEFAULTLIB:OLDNAMES.LIB
60 QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
61 QMAKE_LFLAGS_DEBUG = /DEBUG
62 QMAKE_LFLAGS_LTCG = /LTCG
63 QMAKE_LIBS_NETWORK = ws2.lib
64 QMAKE_LIBS_OPENGL =
65 QMAKE_LIBS_COMPAT =
66
67 QMAKE_LIBS_EGL = libEGL.lib
68 QMAKE_LIBS_OPENGL_ES1 = libGLES_CM.lib
69 QMAKE_LIBS_OPENGL_ES2 = libGLESv2.lib
70
71 QMAKE_LIBS_QT_ENTRY = -lqtmain
72
73 QMAKE_MOC = $$[QT_INSTALL_BINS]\\moc.exe
74 QMAKE_UIC = $$[QT_INSTALL_BINS]\\uic.exe
75 QMAKE_IDC = $$[QT_INSTALL_BINS]\\idc.exe
76
77 QMAKE_IDL = midl
78 QMAKE_LIB = lib
79 QMAKE_RC = rc
80
81 QMAKE_ZIP = zip -r -9
82
83 QMAKE_COPY = copy /y
84 QMAKE_COPY_DIR = xcopy /s /q /y /i
85 QMAKE_MOVE = move
86 QMAKE_DEL_FILE = del
87 QMAKE_DEL_DIR = rmdir
88 QMAKE_CHK_DIR_EXISTS = if not exist
89 QMAKE_MKDIR = mkdir
90
91 VCPROJ_EXTENSION = .vcproj
92 VCSOLUTION_EXTENSION = .sln
93 VCPROJ_KEYWORD = Qt4VSv1.0
94 load(qt_config)
@@ -0,0 +1,133
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the qmake spec of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 #ifndef QPLATFORMDEFS_H
43 #define QPLATFORMDEFS_H
44
45 #ifdef UNICODE
46 #ifndef _UNICODE
47 #define _UNICODE
48 #endif
49 #endif
50
51 // Get Qt defines/settings
52
53 #include "qglobal.h"
54 #include "qfunctions_wince.h"
55
56 #define _POSIX_
57 #include <limits.h>
58 #undef _POSIX_
59
60 #include <tchar.h>
61 #include <stdio.h>
62 #include <stdlib.h>
63 #include <windows.h>
64
65 #define Q_FS_FAT
66 #ifdef QT_LARGEFILE_SUPPORT
67 #define QT_STATBUF struct _stati64 // non-ANSI defs
68 #define QT_STATBUF4TSTAT struct _stati64 // non-ANSI defs
69 #define QT_STAT ::_stati64
70 #define QT_FSTAT ::_fstati64
71 #else
72 #define QT_STATBUF struct stat // non-ANSI defs
73 #define QT_STATBUF4TSTAT struct stat // non-ANSI defs
74 #define QT_STAT ::qt_wince_stat
75 #define QT_FSTAT ::qt_wince__fstat
76 #endif
77 #define QT_STAT_REG _S_IFREG
78 #define QT_STAT_DIR _S_IFDIR
79 #define QT_STAT_MASK _S_IFMT
80 #if defined(_S_IFLNK)
81 # define QT_STAT_LNK _S_IFLNK
82 #endif
83 #define QT_FILENO ::qt_wince___fileno
84 #define QT_OPEN ::qt_wince_open
85 #define QT_CLOSE ::qt_wince__close
86 #ifdef QT_LARGEFILE_SUPPORT
87 #define QT_LSEEK ::_lseeki64
88 #define QT_TSTAT ::_tstati64
89 #else
90 #define QT_LSEEK ::qt_wince__lseek
91 #define QT_TSTAT ::_tstat
92 #endif
93 #define QT_READ ::qt_wince__read
94 #define QT_WRITE ::qt_wince__write
95 #define QT_ACCESS ::qt_wince__access
96 #define QT_GETCWD ::_getcwd
97 #define QT_CHDIR ::_chdir
98 #define QT_MKDIR ::qt_wince__mkdir
99 #define QT_RMDIR ::qt_wince__rmdir
100 #define QT_OPEN_LARGEFILE 0
101 #define QT_OPEN_RDONLY _O_RDONLY
102 #define QT_OPEN_WRONLY _O_WRONLY
103 #define QT_OPEN_RDWR _O_RDWR
104 #define QT_OPEN_CREAT _O_CREAT
105 #define QT_OPEN_TRUNC _O_TRUNC
106 #define QT_OPEN_APPEND _O_APPEND
107 # define QT_OPEN_TEXT _O_TEXT
108 # define QT_OPEN_BINARY _O_BINARY
109
110 #define QT_FOPEN ::fopen
111 #define QT_FSEEK ::fseek
112 #define QT_FTELL ::ftell
113 #define QT_FGETPOS ::fgetpos
114 #define QT_FSETPOS ::fsetpos
115 #define QT_MMAP ::mmap
116 #define QT_FPOS_T fpos_t
117 #define QT_OFF_T long
118
119 #define QT_SIGNAL_ARGS int
120
121 #define QT_VSNPRINTF(buffer, count, format, arg) \
122 _vsnprintf(buffer, count, format, arg)
123
124 #define QT_SNPRINTF ::_snprintf
125
126 # define F_OK 0
127 # define X_OK 1
128 # define W_OK 2
129 # define R_OK 4
130
131 typedef int mode_t;
132
133 #endif // QPLATFORMDEFS_H
@@ -0,0 +1,26
1 #
2 # qmake configuration for stm32f4
3 #
4 #
5
6 MAKEFILE_GENERATOR = UNIX
7 TARGET_PLATFORM = unix
8 TEMPLATE = app
9 CONFIG += ucswitch libuc2 warn_on release incremental link_prl
10 QT +=
11 QMAKE_INCREMENTAL_STYLE = sublib
12
13 include(../common/linux.conf)
14
15 load(qt_config)
16
17
18
19
20
21
22
23
24
25
26
@@ -0,0 +1,42
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the qmake spec of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 //#include "../linux-g++/qplatformdefs.h"
@@ -0,0 +1,7
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"BEAGLESYNTH\\\"
3 beagleCp.target = beagleCp
4 beagleCp.commands = scp $$DESTDIR/$(QMAKE_TARGET).bin root@192.168.7.2://opt/stm32flashAje/hello.bin
5 QMAKE_EXTRA_TARGETS += beagleCp
6
7 include(../../../stm32f4/qmake.conf)
@@ -0,0 +1,4
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"M4Stick\\\"
3
4 include(../../../stm32f4/qmake.conf)
@@ -0,0 +1,4
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"M4Stick\\\"
3
4 include(../../../stm32f4/qmake.conf)
@@ -0,0 +1,4
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"SOLAR_LFR_PSU\\\"
3
4 include(../../../stm32f4/qmake.conf)
@@ -0,0 +1,4
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"SOLAR_LFR_PSU\\\"
3
4 include(../../../stm32f4/qmake.conf)
@@ -0,0 +1,6
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"STM32F4Eval\\\"
3
4 include(../../../stm32f4/qmake.conf)
5
6
@@ -0,0 +1,1
1 CONFIG += no_autoqmake
@@ -0,0 +1,14
1 !isEmpty( UCMODEL ) {
2 include(./$$UCMODEL/cpu.pri)
3 }
4
5
6
7
8
9
10
11
12
13
14
@@ -0,0 +1,41
1 qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp)
2
3 for(DBUS_ADAPTOR, $$list($$unique(DBUS_ADAPTORS))) {
4
5 !contains(DBUS_ADAPTOR, .*\\w\\.xml$) {
6 warning("Invalid D-BUS adaptor: '$${DBUS_ADAPTOR}', please use 'com.mydomain.myinterface.xml' instead.")
7 next()
8 }
9
10 DBUS_ADAPTOR_LIST += $${DBUS_ADAPTOR}
11 }
12
13 dbus_adaptor_header.commands = $$QMAKE_QDBUSXML2CPP -a ${QMAKE_FILE_OUT}: ${QMAKE_FILE_IN}
14 dbus_adaptor_header.output_function = dbus_adaptor_header_output
15 dbus_adaptor_header.name = DBUSXML2CPP ADAPTOR HEADER ${QMAKE_FILE_IN}
16 dbus_adaptor_header.variable_out = DBUS_ADAPTOR_HEADERS
17 dbus_adaptor_header.input = DBUS_ADAPTOR_LIST
18
19 defineReplace(dbus_adaptor_header_output) {
20 return("$$lower($$section($$list($$basename(1)),.,-2,-2))_adaptor.h")
21 }
22
23 dbus_adaptor_source.commands = $$QMAKE_QDBUSXML2CPP -i ${QMAKE_FILE_OUT_BASE}.h -a :${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
24 dbus_adaptor_source.output_function = dbus_adaptor_source_output
25 dbus_adaptor_source.name = DBUSXML2CPP ADAPTOR SOURCE ${QMAKE_FILE_IN}
26 dbus_adaptor_source.variable_out = SOURCES
27 dbus_adaptor_source.input = DBUS_ADAPTOR_LIST
28
29 load(moc)
30 dbus_adaptor_moc.commands = $$moc_header.commands
31 dbus_adaptor_moc.output = $$moc_header.output
32 dbus_adaptor_moc.depends = $$dbus_adaptor_header.output
33 dbus_adaptor_moc.input = DBUS_ADAPTOR_HEADERS
34 dbus_adaptor_moc.variable_out = GENERATED_SOURCES
35 dbus_adaptor_moc.name = $$moc_header.name
36
37 defineReplace(dbus_adaptor_source_output) {
38 return("$$lower($$section($$list($$basename(1)),.,-2,-2))_adaptor.cpp")
39 }
40
41 QMAKE_EXTRA_COMPILERS += dbus_adaptor_header dbus_adaptor_source dbus_adaptor_moc
@@ -0,0 +1,42
1 load(moc)
2
3 qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp)
4
5 for(DBUS_INTERFACE, $$list($$unique(DBUS_INTERFACES))) {
6
7 !contains(DBUS_INTERFACE, .*\\w\\.xml$) {
8 warning("Invalid D-BUS interface : '$${DBUS_INTERFACE}', please use 'com.mydomain.myinterface.xml' instead.")
9 next()
10 }
11
12 DBUS_INTERFACE_LIST += $${DBUS_INTERFACE}
13 }
14
15 dbus_interface_header.commands = $$QMAKE_QDBUSXML2CPP -p ${QMAKE_FILE_OUT}: ${QMAKE_FILE_IN}
16 dbus_interface_header.output_function = dbus_interface_header_output
17 dbus_interface_header.name = DBUSXML2CPP INTERFACE HEADER ${QMAKE_FILE_IN}
18 dbus_interface_header.variable_out = DBUS_INTERFACE_HEADERS
19 dbus_interface_header.input = DBUS_INTERFACE_LIST
20
21 defineReplace(dbus_interface_header_output) {
22 return("$$lower($$section($$list($$basename(1)),.,-2,-2))_interface.h")
23 }
24
25 dbus_interface_source.commands = $$QMAKE_QDBUSXML2CPP -i ${QMAKE_FILE_OUT_BASE}.h -p :${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
26 dbus_interface_source.output_function = dbus_interface_source_output
27 dbus_interface_source.name = DBUSXML2CPP INTERFACE SOURCE ${QMAKE_FILE_IN}
28 dbus_interface_source.variable_out = SOURCES
29 dbus_interface_source.input = DBUS_INTERFACE_LIST
30
31 dbus_interface_moc.commands = $$moc_header.commands
32 dbus_interface_moc.output = $$moc_header.output
33 dbus_interface_moc.depends = $$dbus_interface_header.output
34 dbus_interface_moc.input = DBUS_INTERFACE_HEADERS
35 dbus_interface_moc.variable_out = GENERATED_SOURCES
36 dbus_interface_moc.name = $$moc_header.name
37
38 defineReplace(dbus_interface_source_output) {
39 return("$$lower($$section($$list($$basename(1)),.,-2,-2))_interface.cpp")
40 }
41
42 QMAKE_EXTRA_COMPILERS += dbus_interface_header dbus_interface_source dbus_interface_moc
@@ -0,0 +1,8
1 CONFIG -= release
2 contains(QT_CONFIG,dwarf2)|dwarf2:load(dwarf2, true)
3 QMAKE_CFLAGS += $$QMAKE_CFLAGS_DEBUG
4 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_DEBUG
5 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_DEBUG
6 QMAKE_LFLAGS += $$QMAKE_LFLAGS_DEBUG
7 QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_DEBUG
8 !debug_and_release:fix_output_dirs:fixExclusiveOutputDirs(debug, release)
@@ -0,0 +1,1
1 !macx-xcode:!symbian:addExclusiveBuilds(debug, Debug, release, Release)
@@ -0,0 +1,1
1 contains(QT, declarative):DEFINES += QT_DECLARATIVE_DEBUG
@@ -0,0 +1,122
1 QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
2 !isEmpty(QT_BREAKPAD_ROOT_PATH): \ # quick test first whether requested ...
3 !staticlib:!static:CONFIG(release, debug|release):contains(TEMPLATE, .*(app|lib)): \ # is it applicable?
4 !contains(TARGET, .*phony_target.*): \ # monster hack, you don't really see this here, right? ;)
5 system($$QT_BREAKPAD_ROOT_PATH/qtbreakpadsymbols --breakpad-exists) { # do we really have it?
6 CONFIG += breakpad
7 CONFIG -= no_debug_info separate_debug_info
8 QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
9 QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
10 QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
11 }
12
13 CONFIG(debug, debug|release):load(debug)
14 else:load(release)
15 debug_and_release:load(debug_and_release)
16 incredibuild_xge {
17 CONFIG -= incredibuild_xge
18 CONFIG = incredibuild_xge $$CONFIG
19 }
20
21 breakpad {
22 !contains(DESTDIR, (/|.:[/\\\\]).*):TARGET_BASEPATH = $${OUT_PWD}/
23 !isEmpty(DESTDIR):TARGET_BASEPATH = $${TARGET_BASEPATH}$${DESTDIR}/
24
25 win32 {
26 TARGET_BASEPATH ~= s,/,\\,
27 contains(TEMPLATE, .*lib) {
28 isEmpty(TARGET_VERSION_EXT):!isEmpty(VERSION) {
29 TARGET_VERSION_EXT = $$section(VERSION, ., 0, 0)
30 isEqual(TARGET_VERSION_EXT, 0):unset(TARGET_VERSION_EXT)
31 }
32 TARGET_EXT = .dll
33 } else {
34 TARGET_EXT = .exe
35 }
36
37 DEBUGFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}$${TARGET_EXT}
38 PDBFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}.pdb
39 DEBUGFILENAME ~= s,/,\\,
40 PDBFILENAME ~= s,/,\\,
41 QMAKE_CLEAN += $$PDBFILENAME # for the debug case it is hardcoded in qmake
42 } else {
43 contains(TEMPLATE, .*lib):LIBPREFIX = lib
44
45 macx {
46 equals(TEMPLATE, lib) {
47 lib_bundle {
48 TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.framework/$${TARGET}
49 } else {
50 TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}
51 !plugin {
52 TEMP_VERSION = $$section(VERSION, ., 0, 0)
53 isEmpty(TEMP_VERSION):TEMP_VERSION = 1
54 TARGET_BASEPATH = $${TARGET_BASEPATH}.$${TEMP_VERSION}
55 }
56 TARGET_BASEPATH = $${TARGET_BASEPATH}.$${QMAKE_EXTENSION_SHLIB}
57 }
58 } else {
59 app_bundle {
60 TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.app/Contents/MacOS/$${TARGET}
61 } else {
62 TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
63 }
64 }
65 DEBUGFILENAME = $$TARGET_BASEPATH
66 } else {
67 equals(TEMPLATE, lib) {
68 plugin {
69 TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so
70 } else {
71 TEMP_VERSION = $$VERSION
72 isEmpty(TEMP_VERSION):TEMP_VERSION = 1.0.0
73 TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so.$${TEMP_VERSION}
74 }
75 } else {
76 TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
77 }
78 DEBUGFILENAME = $$TARGET_BASEPATH
79 }
80 }
81
82 PROJECTPATH = $$OUT_PWD
83 win32:PROJECTPATH ~= s,/,\\,
84
85 !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)
86 QMAKE_POST_LINK = $$QMAKE_POST_LINK$$quote($${QT_BREAKPAD_ROOT_PATH}$${QMAKE_DIR_SEP}qtbreakpadsymbols \"$$DEBUGFILENAME\" \"$$PROJECTPATH\")
87 !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$quote($$QMAKE_STRIP \"$$DEBUGFILENAME\")
88
89 unset(TARGET_BASEPATH)
90 unset(SYMBOLFILENAME)
91 unset(TARGET_EXT)
92 unset(TARGET_VERSION_EXT)
93 unset(TEMP_VERSION)
94 }
95
96 QMAKE_INCDIR += $$QMAKE_INCDIR_POST
97 QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
98
99 # Let every project have a standard GNU `check' target
100 !contains(QMAKE_EXTRA_TARGETS, check) {
101 # `make check' should iterate through all subdirs
102 contains(TEMPLATE, subdirs) {
103 check.CONFIG = recursive
104 check.recurse = $$SUBDIRS
105 check.recurse_target = check
106 }
107 # `make check' should imply building the project
108 else {
109 check.depends = first
110 }
111 QMAKE_EXTRA_TARGETS += check
112 }
113
114 # Add special translation sources for projects that require them.
115 # Note 1: Since lupdate will not parse regular config scopes right, contains checks are used instead.
116 # Note 2: Checking for last value of TEMPLATE is used instead of simple contains check because
117 # lupdate doesn't respect "-=" variable assignments and therefore always finds "app"
118 # as the first value of TEMPLATE variable.
119 contains(CONFIG, lupdate_run):contains(CONFIG, localize_deployment) {
120 equals($$list($$last(TEMPLATE)), app): SOURCES += $$[QT_INSTALL_DATA]/mkspecs/common/symbian/appCaptionForTranslation.cpp
121 SOURCES += $$[QT_INSTALL_DATA]/mkspecs/common/symbian/packageNameForTranslation.cpp
122 }
@@ -0,0 +1,3
1 load(exclusive_builds)
2 ### Qt 5: remove "uic" and "resources" - or add "qt"
3 CONFIG = lex yacc warn_on debug uic resources $$CONFIG
@@ -0,0 +1,7
1 QT += xml
2 contains(QT_CONFIG, script): QT += script
3 qt:load(qt)
4
5 plugin:DEFINES += QDESIGNER_EXPORT_WIDGETS
6
7 qtAddLibrary(QtDesigner)
@@ -0,0 +1,15
1 # Load generated qdevice.pri
2 qdd = $$QT_BUILD_TREE
3 isEmpty(qdd):exists($$_QMAKE_CACHE_): qdd = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
4 isEmpty(qdd): qdd = $$[QT_INSTALL_DATA]
5 DEVICE_PRI = $$qdd/mkspecs/qdevice.pri
6 unset(qdd)
7
8 exists($$DEVICE_PRI):include($$DEVICE_PRI)
9 unset(DEVICE_PRI)
10
11 isEmpty(CROSS_COMPILE) {
12 #this variable can be persisted via qmake -set CROSS_COMPILE /foo
13 CROSS_COMPILE = $$[CROSS_COMPILE]
14 }
15
@@ -0,0 +1,2
1 CONFIG += shared
2
@@ -0,0 +1,21
1 # On UNIX, we can use config tests to figure out if egl.h is in
2 # EGL/egl.h or GLES/egl.h. Sadly, there are no config tests on WinCE
3 # so we have to assume that for GLES 1.1 (CL), the EGL header is in
4 # GLES/egl.h. We also assume there is no separate libEGL.lib library,
5 # so we use the GL library instead.
6
7 wince*:contains(QT_CONFIG, opengles1) {
8 INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
9 LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1
10 for(p, QMAKE_LIBDIR_OPENGL_ES1) {
11 exists($$p):LIBS_PRIVATE += -L$$p
12 }
13 DEFINES += QT_GLES_EGL
14 } else {
15 INCLUDEPATH += $$QMAKE_INCDIR_EGL
16 LIBS_PRIVATE += $$QMAKE_LIBS_EGL
17 LIBS += $$QMAKE_LFLAGS_EGL
18 for(p, QMAKE_LIBDIR_EGL) {
19 exists($$p):LIBS_PRIVATE += -L$$p
20 }
21 }
@@ -0,0 +1,43
1 # Generate deployment for backup registration file for mobile devices
2 symbian|maemo5|linux-g++-maemo {
3 symbian {
4 isEmpty(BACKUP_REGISTRATION_FILE_SYMBIAN) {
5 # Do not require a custom registration file in Symbian builds as the
6 # default file can be used as is in vast majority of projects.
7 # However, if the custom file exists in the default location, use that.
8
9 CUSTOM_BACKUP_REG_FILE = $$_PRO_FILE_PWD_/backup_registration/symbian/backup_registration.xml
10
11 exists($$CUSTOM_BACKUP_REG_FILE) {
12 BACKUP_REGISTRATION_FILE = $$CUSTOM_BACKUP_REG_FILE
13 } else {
14 BACKUP_REGISTRATION_FILE = $$[QT_INSTALL_DATA]/mkspecs/common/symbian/backup_registration.xml
15 }
16 } else {
17 BACKUP_REGISTRATION_FILE = $$BACKUP_REGISTRATION_FILE_SYMBIAN
18 }
19
20 contains(TEMPLATE, app) {
21 enable_backup_deployment.path = /private/$$replace(TARGET.UID3, 0x,)
22 } else {
23 enable_backup_deployment.path = /private/10202D56/import/packages/$$replace(TARGET.UID3, 0x,)
24 }
25 DEPLOYMENT += enable_backup_deployment
26 } else {
27 isEmpty(BACKUP_REGISTRATION_FILE_MAEMO) {
28 BACKUP_REGISTRATION_FILE = $$_PRO_FILE_PWD_/backup_registration/maemo/$$basename(TARGET).conf
29 } else {
30 BACKUP_REGISTRATION_FILE = $$BACKUP_REGISTRATION_FILE_MAEMO
31 }
32
33 enable_backup_deployment.path = /etc/osso-backup/applications
34 INSTALLS += enable_backup_deployment
35 }
36
37 # Make sure that BACKUP_REGISTRATION_FILE has absolute path, otherwise the following exists check will not work.
38 !contains(BACKUP_REGISTRATION_FILE, "(^/|^\\\\|^.:).*"): BACKUP_REGISTRATION_FILE = $$_PRO_FILE_PWD_/$$BACKUP_REGISTRATION_FILE
39
40 !exists($$BACKUP_REGISTRATION_FILE): warning(The backup registration file \'$$BACKUP_REGISTRATION_FILE\' was not found. Please provide a valid backup registration file.)
41
42 enable_backup_deployment.files = $$BACKUP_REGISTRATION_FILE
43 }
@@ -0,0 +1,100
1 # fixExclusiveOutputDirs(1config, 2config)
2 # Change all output paths that references 2config to have the string 1config in them
3 defineTest(fixExclusiveOutputDirs) {
4 unset(firstBuild)
5 unset(secondBuild)
6 unset(appendFirstBuild)
7 firstBuild = $$1
8 secondBuild = $$2
9 count(ARGS, 2, greaterThan):isEqual($$list($$lower($$3)), false):appendFirstBuild = false
10 else:appendFirstBuild = true
11
12 isEmpty(QMAKE_DIR_REPLACE):QMAKE_DIR_REPLACE += OBJECTS_DIR MOC_DIR RCC_DIR
13 lessThan(firstBuild, $$secondBuild):eval($${firstBuild}_and_$${secondBuild}_target:QMAKE_DIR_REPLACE += DESTDIR)
14 else:eval($${secondBuild}_and_$${firstBuild}_target:QMAKE_DIR_REPLACE += DESTDIR)
15 for(fix, QMAKE_DIR_REPLACE) {
16 isEmpty($$fix)|isEqual($$fix, .) {
17 eval($$fix = $${firstBuild})
18 } else:contains($$list($$first($$fix)), .*$${secondBuild}.*) {
19 eval($$fix ~= s/$${secondBuild}/$${firstBuild}/gi)
20 } else:isEqual(appendFirstBuild, true):!contains($$list($$first($$fix)), .*$${firstBuild}.*) {
21 contains($$list($${first($$fix)}), .*/$):eval($$fix = $${first($$fix)}$${firstBuild})
22 else:eval($$fix = $${first($$fix)}-$${firstBuild})
23 }
24 export($$fix)
25 }
26 return(true)
27 }
28
29 # addExclusiveBuilds(1config, 1name, 2config, 2name)
30 # Adds two BUILDS which are exclusive to each other.
31 defineTest(addExclusiveBuilds) {
32 unset(firstBuild)
33 unset(firstBuildName)
34 unset(secondBuild)
35 unset(secondBuildName)
36
37 firstBuild = $$1
38 firstBuildName = $$2
39 secondBuild = $$3
40 secondBuildName = $$4
41
42 contains(TEMPLATE, subdirs) {
43 eval(sub_$${firstBuildName}.target = $$firstBuild)
44 export(sub_$${firstBuildName}.target)
45 eval(sub_$${firstBuildName}.CONFIG = recursive)
46 export(sub_$${firstBuildName}.CONFIG)
47 eval(sub_$${secondBuildName}.target = $$secondBuild)
48 export(sub_$${secondBuildName}.target)
49 eval(sub_$${secondBuildName}.CONFIG = recursive)
50 export(sub_$${secondBuildName}.CONFIG)
51 QMAKE_EXTRA_TARGETS += sub_$${firstBuildName} sub_$${secondBuildName}
52 export(QMAKE_EXTRA_TARGETS)
53 } else:!build_pass {
54 first_BUILDS =
55 second_BUILDS =
56 suffix_BUILDS = Build
57
58 isEmpty(BUILDS): BUILDPERMUTATIONS = $$suffix_BUILDS
59 else: BUILDPERMUTATIONS = $$BUILDS
60
61 for(permutation, BUILDPERMUTATIONS) {
62 permutation ~= s/$${suffix_BUILDS}$//
63 isEmpty(permutation): permutationName =
64 else: permutationName = -$$permutation
65 # Makefile target rule
66 eval($${firstBuildName}$${permutation}.target = $${firstBuild}$$lower($${permutationName}))
67 export($${firstBuildName}$${permutation}.target)
68 # IDE name
69 eval($${firstBuildName}$${permutation}.name = $${firstBuildName}$${permutationName})
70 export($${firstBuildName}$${permutation}.name)
71 # prl import CONFIG option
72 eval($${firstBuildName}$${permutation}.PRL_CONFIG = $${firstBuild}$${permutation})
73 export($${firstBuildName}$${permutation}.PRL_CONFIG)
74 # Individual CONFIG option
75 eval($${firstBuildName}$${permutation}.CONFIG = $${firstBuild} $${firstBuildName}Build $$eval($${permutation}.CONFIG))
76 export($${firstBuildName}$${permutation}.CONFIG)
77
78 eval($${secondBuildName}$${permutation}.target = $${secondBuild}$$lower($${permutationName}))
79 export($${secondBuildName}$${permutation}.target)
80 eval($${secondBuildName}$${permutation}.name = $${secondBuildName}$${permutationName})
81 export($${secondBuildName}$${permutation}.name)
82 eval($${secondBuildName}$${permutation}.PRL_CONFIG = $${secondBuild}$${permutation})
83 export($${secondBuildName}$${permutation}.PRL_CONFIG)
84 eval($${secondBuildName}$${permutation}.CONFIG = $${secondBuild} $${secondBuildName}Build $$eval($${permutation}.CONFIG))
85 export($${secondBuildName}$${permutation}.CONFIG)
86
87 first_BUILDS += $${firstBuildName}$${permutation}
88 second_BUILDS += $${secondBuildName}$${permutation}
89 }
90
91 # A mutual exclusive block.
92 CONFIG($${firstBuild}, $${firstBuild}|$${secondBuild}): BUILDS = $$first_BUILDS $$second_BUILDS
93 else: BUILDS = $$second_BUILDS $$first_BUILDS
94 export(BUILDS)
95 } else {
96 eval($${firstBuildName}Build:fixExclusiveOutputDirs($$firstBuild, $$secondBuild, false))
97 eval($${secondBuildName}Build:fixExclusiveOutputDirs($$secondBuild, $$firstBuild, false))
98 }
99 return(true)
100 }
@@ -0,0 +1,4
1 INCLUDEPATH = $$QMAKE_INCDIR_QT/QtHelp $$INCLUDEPATH
2 QT += sql
3
4 qtAddLibrary(QtHelp)
@@ -0,0 +1,1
1 !equals(_PRO_FILE_PWD_, $$OUT_PWD):INCLUDEPATH *= .
@@ -0,0 +1,12
1 contains(TEMPLATE, "vc.*") {
2 EOC = $$escape_expand(\\n\\t)
3
4 # The VCPROJ generator will replace the \r\h with the coded \r\n: &#x0d;&#x0a;
5 # No other generator understands the \h
6 win32-msvc2*|wince*msvc*: EOC = $$escape_expand(\\r\\h)
7
8 for(xge, INCREDIBUILD_XGE) {
9 xgevar = $${xge}.commands
10 $$xgevar = Rem IncrediBuild_AllowRemote $$EOC Rem IncrediBuild_OutputFile $$replace($${xge}.output,/,\\) $$EOC $$eval($${xge}.commands)
11 }
12 }
@@ -0,0 +1,24
1 #
2 # Lex extra-compiler for handling files specified in the LEXSOURCES variable
3 #
4
5 {
6 lex.name = Lex ${QMAKE_FILE_IN}
7 lex.input = LEXSOURCES
8 lex_included {
9 lex.CONFIG += no_link
10 } else {
11 lex.variable_out = GENERATED_SOURCES
12 }
13 isEmpty(QMAKE_LEXFLAGS_MANGLE):QMAKE_LEXFLAGS_MANGLE = -P${QMAKE_FILE_BASE}
14 QMAKE_LEXEXTRAFLAGS = $$QMAKE_LEXFLAGS
15 !yacc_no_name_mangle:QMAKE_LEXEXTRAFLAGS += $$QMAKE_LEXFLAGS_MANGLE
16
17 lex.commands = $$QMAKE_LEX $$QMAKE_LEXEXTRAFLAGS ${QMAKE_FILE_IN}$$escape_expand(\\n\\t) \
18 $$QMAKE_DEL_FILE $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t) \
19 $$QMAKE_MOVE lex.${QMAKE_FILE_BASE}.c $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t)
20 lex.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_lex$${first(QMAKE_EXT_CPP)}
21
22 silent:lex.commands = @echo Lex ${QMAKE_FILE_IN} && $$lex.commands
23 QMAKE_EXTRA_COMPILERS += lex
24 }
@@ -0,0 +1,40
1 #
2 # Libuc2 common rules
3 #
4 #
5
6 contains( TEMPLATE, lib ) {
7 !isEmpty( BSPFILE ) {
8 target.path = $$[QT_INSTALL_PREFIX]/bsp/lib/$$BSP
9 HEADERS_inst.files = $$HEADERS
10 HEADERS_inst.path = $$[QT_INSTALL_PREFIX]/bsp/includes/$$BSP
11 BSPFILE_inst.files = $$BSPFILE
12 BSPFILE_inst.path = $$[QT_INSTALL_PREFIX]/mkspecs/features/boards/$$BSP
13 INSTALLS += target HEADERS_inst BSPFILE_inst
14 }else{
15 HEADERS_inst.files = $$HEADERS
16 HEADERS_inst.path = $$[QT_INSTALL_HEADERS]
17 BSPFILE_inst.files = $$BSPFILE
18 BSPFILE_inst.path = $$[QT_INSTALL_PREFIX]/mkspecs/features/boards/$$BSP
19 INSTALLS += target HEADERS_inst BSPFILE_inst
20 }
21 }
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@@ -0,0 +1,17
1 load(default_post)
2 !no_objective_c:CONFIG += objective_c
3
4 # Pick a suitable default architecture for qmake-based applications.
5 # If the Qt package contains one of x86 and x86_64, pick that one. If it
6 # contains both then use the compiler default. Make a similiar decision for
7 # PowerPC-based systems. Note that this logic assumes that Qt has been
8 # configured with an architecture that is usable on the system.
9 qt:!isEmpty(QT_CONFIG) {
10 contains(QMAKE_HOST.arch, ppc)|contains(QMAKE_HOST.arch, "Power Macintosh") {
11 !contains(QT_CONFIG, ppc64):contains(QT_CONFIG, ppc):CONFIG += ppc
12 contains(QT_CONFIG, ppc64):!contains(QT_CONFIG, ppc):CONFIG += ppc64
13 } else {
14 !contains(QT_CONFIG, x86_64):contains(QT_CONFIG, x86):CONFIG += x86
15 contains(QT_CONFIG, x86_64):!contains(QT_CONFIG, x86):CONFIG += x86_64
16 }
17 }
@@ -0,0 +1,3
1 CONFIG = sdk rez $$CONFIG
2 load(default_pre)
3
@@ -0,0 +1,6
1 macx-xcode|macx-pbuilder {
2 } else {
3 QMAKE_CFLAGS_DEBUG += $$QMAKE_CFLAGS_DWARF2
4 QMAKE_OBJECTIVE_CFLAGS_DEBUG += $$QMAKE_OBJECTIVE_DWARF2
5 QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CXXFLAGS_DWARF2
6 }
@@ -0,0 +1,23
1
2 for(source, SOURCES) {
3 contains(source,.*\\.mm?$) {
4 warning(Objective-C source \'$$source\' found in SOURCES but should be in OBJECTIVE_SOURCES)
5 SOURCES -= $$source
6 OBJECTIVE_SOURCES += $$source
7 }
8 }
9
10 isEmpty(QMAKE_OBJECTIVE_CC):QMAKE_OBJECTIVE_CC = $$QMAKE_CC
11
12 OBJECTIVE_C_OBJECTS_DIR = $$OBJECTS_DIR
13 isEmpty(OBJECTIVE_C_OBJECTS_DIR):OBJECTIVE_C_OBJECTS_DIR = .
14 isEmpty(QMAKE_EXT_OBJECTIVE_C):QMAKE_EXT_OBJECTIVE_C = .mm .m
15
16 objective_c.dependency_type = TYPE_C
17 objective_c.variables = QMAKE_OBJECTIVE_CFLAGS
18 objective_c.commands = $$QMAKE_OBJECTIVE_CC -c $(QMAKE_COMP_QMAKE_OBJECTIVE_CFLAGS) $(DEFINES) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
19 objective_c.output = $$OBJECTIVE_C_OBJECTS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
20 objective_c.input = OBJECTIVE_SOURCES
21 objective_c.name = Compile ${QMAKE_FILE_IN}
22 silent:objective_c.commands = @echo objective-c ${QMAKE_FILE_IN} && $$objective_c.commands
23 QMAKE_EXTRA_COMPILERS += objective_c
@@ -0,0 +1,7
1 macx-xcode|macx-pbuilder {
2 } else {
3 QMAKE_CFLAGS += $$QMAKE_CFLAGS_PPC
4 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_PPC
5 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_PPC
6 QMAKE_LFLAGS += $$QMAKE_LFLAGS_PPC
7 }
@@ -0,0 +1,7
1 macx-xcode|macx-pbuilder {
2 } else {
3 QMAKE_CFLAGS += $$QMAKE_CFLAGS_PPC_64
4 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_PPC_64
5 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_PPC_64
6 QMAKE_LFLAGS += $$QMAKE_LFLAGS_PPC_64
7 }
@@ -0,0 +1,16
1
2 #global defaults
3 isEmpty(QMAKE_REZ) {
4 QMAKE_REZ = /Developer/Tools/Rez
5 }
6 isEmpty(REZ_DIR):REZ_DIR = .
7 isEmpty(QMAKE_EXT_REZ):QMAKE_EXT_REZ = .rsrc
8
9 rez_source.CONFIG += no_link
10 rez_source.dependency_type = TYPE_C
11 rez_source.commands = $$QMAKE_REZ ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} -useDF
12 rez_source.output = $$REZ_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_REZ)}
13 rez_source.input = REZ_FILES
14 rez_source.name = REZ ${QMAKE_FILE_IN}
15 silent:rez_source.commands = @echo rez ${QMAKE_FILE_IN} && $$rez_source.commands
16 QMAKE_EXTRA_COMPILERS += rez_source
@@ -0,0 +1,8
1 !isEmpty(QMAKE_MAC_SDK) {
2 !macx-xcode:!macx-pbuilder {
3 QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
4 QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
5 QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK
6 QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK
7 }
8 }
@@ -0,0 +1,7
1 macx-xcode|macx-pbuilder {
2 } else {
3 QMAKE_CFLAGS += $$QMAKE_CFLAGS_X86
4 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_X86
5 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_X86
6 QMAKE_LFLAGS += $$QMAKE_LFLAGS_X86
7 }
@@ -0,0 +1,7
1 macx-xcode|macx-pbuilder {
2 } else {
3 QMAKE_CFLAGS += $$QMAKE_CFLAGS_X86_64
4 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_X86_64
5 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_X86_64
6 QMAKE_LFLAGS += $$QMAKE_LFLAGS_X86_64
7 }
@@ -0,0 +1,116
1
2 #global defaults
3 qtPrepareTool(QMAKE_MOC, moc)
4 isEmpty(MOC_DIR):MOC_DIR = .
5 isEmpty(QMAKE_H_MOD_MOC):QMAKE_H_MOD_MOC = moc_
6 isEmpty(QMAKE_EXT_CPP_MOC):QMAKE_EXT_CPP_MOC = .moc
7
8 # On Windows, put the includes into a .inc file which moc will read, if the project
9 # has too many includes. We do this to overcome a command-line limit on Win < XP
10 INCLUDETEMP=
11 WIN_INCLUDETEMP=
12 win32:count($$list($$INCLUDEPATH), 40, >) {
13 INCLUDETEMP = $$MOC_DIR/mocinclude.tmp
14
15 WIN_INCLUDETEMP=$$INCLUDETEMP
16
17 EOC = $$escape_expand(\\n\\t)
18
19 contains(TEMPLATE, "vc.*") {
20 # the VCPROJ generator will replace the \r\h with the coded \r\n: &#x0d;&#x0a;
21 # No other generator understands the \h
22 if(win32-msvc2*|wince*msvc*): EOC = $$escape_expand(\\r\\h)
23 else: EOC = $$escape_expand(\\\\\\n\\t)
24 }
25
26 unset(INCFILELIST)
27 RET =
28 for(incfile, $$list($$INCLUDEPATH)) {
29 INCFILELIST = -I$$incfile
30 isEmpty(RET): RET += @echo $$INCFILELIST> $$WIN_INCLUDETEMP $$EOC
31 else: RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC
32 }
33 !isEmpty(INCFILELIST):RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC
34
35 build_pass|isEmpty(BUILDS) {
36 mocinclude.target = $$INCLUDETEMP
37 mocinclude.commands = $$RET
38 QMAKE_EXTRA_TARGETS += mocinclude
39 }
40 }
41
42 defineReplace(mocCmdBase) {
43 !isEmpty(WIN_INCLUDETEMP) {
44 RET =
45 contains(TEMPLATE, "vc.*") {
46 RET += $$mocinclude.commands
47 }
48 RET += $$QMAKE_MOC $(DEFINES) @$$WIN_INCLUDETEMP $$join(QMAKE_COMPILER_DEFINES, " -D", -D)
49 return($$RET)
50 }
51 return($$QMAKE_MOC $(DEFINES) $(INCPATH) $$join(QMAKE_COMPILER_DEFINES, " -D", -D))
52 }
53
54 #moc headers
55 moc_header.CONFIG = moc_verify
56 moc_header.dependency_type = TYPE_C
57 moc_header.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
58 moc_header.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
59 moc_header.input = HEADERS
60 moc_header.variable_out = SOURCES
61 moc_header.name = MOC ${QMAKE_FILE_IN}
62 !contains(TEMPLATE, "vc.*") {
63 !isEmpty(INCLUDETEMP):moc_header.depends += $$INCLUDETEMP
64 }
65 silent:moc_header.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_header.commands
66 QMAKE_EXTRA_COMPILERS += moc_header
67 INCREDIBUILD_XGE += moc_header
68
69 #moc sources
70 moc_source.CONFIG = no_link moc_verify
71 moc_source.dependency_type = TYPE_C
72 moc_source.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
73 moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC}
74 moc_source.input = SOURCES OBJECTIVE_SOURCES
75 moc_source.name = MOC ${QMAKE_FILE_IN}
76 !contains(TEMPLATE, "vc.*") {
77 !isEmpty(INCLUDETEMP):moc_source.depends += $$INCLUDETEMP
78 }
79 silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands
80 QMAKE_EXTRA_COMPILERS += moc_source
81 INCREDIBUILD_XGE += moc_source
82
83 #make sure we can include these files
84 moc_dir_short = $$MOC_DIR
85 contains(QMAKE_HOST.os,Windows):moc_dir_short ~= s,^.:,/,
86 contains(moc_dir_short, ^[/\\\\].*):INCLUDEPATH += $$MOC_DIR
87 else:INCLUDEPATH += $$OUT_PWD/$$MOC_DIR
88
89 # Backwards compatibility: Make shadow builds with default MOC_DIR work
90 # if the user did not add the source dir explicitly.
91 equals(MOC_DIR, .) {
92 CONFIG -= include_source_dir
93 CONFIG = include_source_dir $$CONFIG
94 }
95
96 #auto depend on moc
97 unix:!symbian:!no_mocdepend {
98 moc_source.depends += $$first(QMAKE_MOC)
99 moc_header.depends += $$first(QMAKE_MOC)
100 !contains(TARGET, moc) { #auto build moc
101 isEmpty(QMAKE_MOC_SRC):QMAKE_MOC_SRC = "$(QTDIR)/src/tools/moc"
102 make_moc.target = $$first(QMAKE_MOC)
103 make_moc.commands = (cd $$QMAKE_MOC_SRC && $(MAKE))
104 QMAKE_EXTRA_TARGETS += make_moc
105 }
106 }
107
108 #generate a mocclean
109 build_pass|isEmpty(BUILDS):mocclean.depends = compiler_moc_header_clean compiler_moc_source_clean
110 else:mocclean.CONFIG += recursive
111 QMAKE_EXTRA_TARGETS += mocclean
112
113 #generate a mocables
114 build_pass|isEmpty(BUILDS):mocables.depends = compiler_moc_header_make_all compiler_moc_source_make_all
115 else:mocables.CONFIG += recursive
116 QMAKE_EXTRA_TARGETS += mocables
@@ -0,0 +1,14
1
2 win32-msvc2*|wince*msvc* {
3 QMAKE_CFLAGS -= -Zi
4 QMAKE_CFLAGS_DEBUG -= -Zi
5 QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO -= -Zi
6 QMAKE_CXXFLAGS -= -Zi
7 QMAKE_CXXFLAGS_DEBUG -= -Zi
8 QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -Zi
9 } else {
10 QMAKE_CFLAGS -= -g -ggdb3
11 QMAKE_CXXFLAGS -= -g -ggdb3
12 QMAKE_LFLAGS -= -g -ggdb3
13 QMAKE_LIBFLAGS -= -g -ggdb3
14 }
@@ -0,0 +1,2
1 qtAddLibrary(QtDBus)
2 CONFIG += dbusadaptors dbusinterfaces
@@ -0,0 +1,227
1 CONFIG *= moc thread
2
3 #handle defines
4 win32 {
5 qt_static:DEFINES += QT_NODLL
6 !contains(DEFINES, QT_NODLL) {
7 QT_ENV_DLL = $$(QT_DLL)
8 QT_ENV_NO_DLL = $$(QT_NODLL)
9 isEmpty(QT_ENV_NO_DLL) {
10 shared|!isEmpty(QT_ENV_DLL):DEFINES += QT_DLL
11 }
12 contains(DEFINES, QT_MAKEDLL)|contains(DEFINES, QT_DLL):QMAKE_QT_DLL = 1
13 }
14 }
15 CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG
16 no_keywords:DEFINES += QT_NO_KEYWORDS
17 plugin { #Qt plugins
18 static:DEFINES += QT_STATICPLUGIN
19 DEFINES += QT_PLUGIN
20
21 # Triggers both on Qt being configured with -arch boundschecker,
22 # and if you qmake CONFIG+=boundchecker on your plugin project
23 boundschecker|contains(QT_CONFIG,boundschecker) {
24 # This option is added for plugins when Qt is configured for Boundschecker,
25 # since we want Boundschecker to not instrument the qt_plugin_query_verification_data
26 # function, as we call that function without the plugin's dependent DLLs, thus
27 # Boundscheckers instrumentation will fail. The function only returns a const char *,
28 # so no instrumentation is really needed on that function anyways.
29 QMAKE_CFLAGS += /nmignore:*:qt_plugin_query_verification_data
30 QMAKE_CXXFLAGS += /nmignore:*:qt_plugin_query_verification_data
31 }
32 }
33
34 #handle includes
35 INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picking up "stale" includes
36 win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
37
38 # As order does matter for static libs, we reorder the QT variable here
39 TMPLIBS = declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core meegographicssystemhelper
40 for(QTLIB, $$list($$TMPLIBS)) {
41 contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
42 }
43
44 QT_UNKNOWN = $$QT
45 QT_UNKNOWN -= $$QT_ORDERED
46 QT = $$QT_ORDERED
47 for(QTLIB, $$list($$QT_UNKNOWN)) {
48 !contains(TMPLIBS, $$QTLIB):message("Warning: unknown QT: $$QTLIB")
49 }
50
51 QT_PLUGIN_VERIFY = QTPLUGIN DEPLOYMENT_PLUGIN
52 for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) {
53 for(QTPLUG, $$list($$lower($$unique($$QT_CURRENT_VERIFY)))) {
54 qplugin_style =
55 !qt_debug:!qt_release {
56 CONFIG(debug, debug|release):qplugin_style = debug
57 else:qplugin_style = release
58 } else:CONFIG(qt_debug, qt_debug|qt_release) {
59 qplugin_style = debug
60 } else {
61 qplugin_style = release
62 }
63
64 # Check if the plugin is known to Qt. We can use this to determine
65 # the plugin path. Unknown plugins must rely on the default link path.
66 ACCESSIBLEPLUGINS = qtaccessiblewidgets qtaccessiblecompatwidgets
67 BEARERPLUGINS = qgenericbearer qnativewifibearer
68 CODECPLUGINS = qcncodecs qjpcodecs qkrcodecs qtwcodecs
69 DECORATIONPLUGINS = qdecorationdefault qdecorationstyled qdecorationwindows
70 GFXDRIVERPLUGINS = qgfxvnc qscreenvfb qgfxtransformed qgfxshadowfb qgfxpvregl qscreenlinuxfb qeglnullws qdirectfbscreen qahiscreen
71 GRAPHICSSYSTEMPLUGINS = qmeegographicssystem qglgraphicssystem qvggraphicssystem qshivavggraphicssystem
72 IMAGEPLUGINS = qgif qico qmng qjpeg qsvg qtiff
73 INPUTPLUGINS = qimsw-multi
74 KBDDRIVERPLUGINS = qlinuxinputkbddriver
75 MOUSEDRIVERPLUGINS = qtslibmousehandler qpcmousedriver qlinuxtpmousedriver
76 SQLPLUGINS = qsqldb2 qsqloci qsqltds qsqlodbc qsqlpsql qsqlibase qsqlmysql qsqlite2 qsqlite
77 PHONONPLUGINS = phonon_waveout phonon_ds9 phonon_gstreamer phonon_qt7 phonon_mmf
78
79 ALLQTPLUGINS = $$ACCESSIBLEPLUGINS $$BEARERPLUGINS $$CODECPLUGINS $$DECORATIONPLUGINS $$GFXDRIVERPLUGINS $$GRAPHICSSYSTEMPLUGINS $$IMAGEPLUGINS $$INPUTPLUGINS $$KBDDRIVERPLUGINS $$MOUSEDRIVERPLUGINS $$SQLPLUGINS $$PHONONPLUGINS
80
81 QT_PLUGINPATH =
82 contains(ALLQTPLUGINS, $$QTPLUG) {
83 # Determine the plugin path
84 contains(ACCESSIBLEPLUGINS, $$QTPLUG): QT_PLUGINPATH = accessible
85 contains(BEARERPLUGINS, $$QTPLUG): QT_PLUGINPATH = bearer
86 contains(CODECPLUGINS, $$QTPLUG): QT_PLUGINPATH = codecs
87 contains(DECORATIONPLUGINS, $$QTPLUG): QT_PLUGINPATH = decorations
88 contains(GFXDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = gfxdrivers
89 contains(GRAPHICSSYSTEMPLUGINS, $$QTPLUG): QT_PLUGINPATH = graphicssystems
90 contains(IMAGEPLUGINS, $$QTPLUG): QT_PLUGINPATH = imageformats
91 contains(INPUTPLUGINS, $$QTPLUG): QT_PLUGINPATH = inputmethods
92 contains(KBDDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = kbddrivers
93 contains(MOUSEDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = mousedrivers
94 contains(SQLPLUGINS, $$QTPLUG): QT_PLUGINPATH = sqldrivers
95 contains(PHONONPLUGINS, $$QTPLUG): QT_PLUGINPATH = phonon_backend
96 }
97
98 # Generate the plugin linker line
99 target_qt:isEqual(TARGET, QTPLUG) {
100 warning($$TARGET cannot have a QTPLUGIN of $$QTPLUG)
101 } else {
102 QT_LINKAGE = -l$${QTPLUG}
103 win32 {
104 CONFIG(debug, debug|release):QT_LINKAGE = -l$${QTPLUG}d
105 } else:mac {
106 isEqual(qplugin_style, debug):QT_LINKAGE = -l$${QTPLUG}_debug
107 }
108 }
109
110 # Only link against plugin in static builds
111 isEqual(QT_CURRENT_VERIFY, QTPLUGIN): {
112 !isEmpty(QT_PLUGINPATH): LIBS *= -L$$[QT_INSTALL_PLUGINS]/$$QT_PLUGINPATH
113 LIBS += $$QT_LINKAGE
114 # if the plugin is linked statically there is no need to deploy it
115 DEPLOYMENT_PLUGIN -= $$QT_CURRENT_VERIFY
116 }
117 isEqual(QT_CURRENT_VERIFY, DEPLOYMENT_PLUGIN):shared:wince*: {
118 QT_ITEM =
119 CONFIG(debug, debug|release): QT_ITEM = $${QTPLUG}d4.dll
120 else: QT_ITEM = $${QTPLUG}4.dll
121
122 eval(qt_additional_plugin_$${QTPLUG}.files = $$[QT_INSTALL_PLUGINS]/$${QT_PLUGINPATH}/$${QT_ITEM})
123 eval(qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH})
124
125 DEPLOYMENT *= qt_additional_plugin_$${QTPLUG}
126 }
127 isEqual(QT_CURRENT_VERIFY, DEPLOYMENT_PLUGIN):shared:symbian: {
128 QT_ITEM = $${QTPLUG}.dll
129
130 eval(qt_additional_plugin_$${QTPLUG}.files = $${QT_ITEM})
131 eval(qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH})
132
133 DEPLOYMENT *= qt_additional_plugin_$${QTPLUG}
134 }
135 }
136 }
137 #specific module settings
138 !isEmpty(QT_BUILD_TREE):QMAKE_LIBDIR = $$QT_BUILD_TREE/lib $$QMAKE_LIBDIR #as above, prepending prevents us from picking up "stale" libs
139 QMAKE_LIBDIR += $$QMAKE_LIBDIR_QT
140 for(QTLIB, $$list($$lower($$unique(QT)))) {
141 unset(qlib_style)
142 !qt_debug:!qt_release {
143 CONFIG(debug, debug|release):qlib_style = debug
144 else:qlib_style = release
145 } else:CONFIG(qt_debug, qt_debug|qt_release) {
146 qlib_style = debug
147 } else {
148 qlib_style = release
149 }
150
151 unset(qlib)
152 isEqual(QTLIB, gui):qlib = QtGui
153 else:isEqual(QTLIB, network):qlib = QtNetwork
154 else:isEqual(QTLIB, xml):qlib = QtXml
155 else:isEqual(QTLIB, xmlpatterns):qlib = QtXmlPatterns
156 else:isEqual(QTLIB, opengl):qlib = QtOpenGL
157 else:isEqual(QTLIB, openvg):qlib = QtOpenVG
158 else:isEqual(QTLIB, sql):qlib = QtSql
159 else:isEqual(QTLIB, core):qlib = QtCore
160 else:isEqual(QTLIB, canvas):qlib = QtCanvas
161 else:isEqual(QTLIB, qt3support):qlib = Qt3Support
162 else:isEqual(QTLIB, svg):qlib = QtSvg
163 else:isEqual(QTLIB, script):qlib = QtScript
164 else:isEqual(QTLIB, scripttools):qlib = QtScriptTools
165 else:isEqual(QTLIB, testlib):qlib = QtTest
166 else:isEqual(QTLIB, dbus):qlib = QtDBus
167 else:isEqual(QTLIB, phonon) {
168 qlib = phonon
169 INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon_compat
170
171 # The Helix backend requires this. Since we can't let a plugin set it,
172 # we bump the values for all Symbian Phonon plugins.
173 symbian:isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x040000 0x1600000
174
175 } else:isEqual(QTLIB, webkit) {
176 qlib = QtWebKit
177 aix-xlc {
178 # Flags recommended by IBM when using WebKit
179 QMAKE_LFLAGS -= -bmaxdata:0x80000000
180 QMAKE_LFLAGS += -bmaxdata:0xD0000000/dsa
181 }
182 } else:isEqual(QTLIB, declarative):qlib = QtDeclarative
183 else:isEqual(QTLIB, multimedia):qlib = QtMultimedia
184 else:isEqual(QTLIB, meegographicssystemhelper):qlib = QtMeeGoGraphicsSystemHelper
185 else:message("Unknown QT: $$QTLIB"):qlib =
186 !isEmpty(qlib) {
187 target_qt:isEqual(TARGET, qlib) {
188 warning($$TARGET cannot have a QT of $$QTLIB)
189 } else {
190 DEFINES *= $$upper(QT_$${QTLIB}_LIB)
191 isEqual(QTLIB, opengl):CONFIG += opengl
192 isEqual(QTLIB, openvg):CONFIG += openvg
193 isEqual(QTLIB, qt3support):DEFINES *= QT3_SUPPORT
194 isEqual(QTLIB, testlib):CONFIG += console
195 isEqual(QTLIB, dbus):CONFIG += dbusadaptors dbusinterfaces
196
197 qtAddLibrary($$qlib)
198 }
199 }
200 }
201
202 qt_compat {
203 !qt_compat_no_warning:QTDIR_build:warning(***USE of COMPAT inside of QTDIR!**) #just for us
204 INCLUDEPATH *= $$QMAKE_INCDIR_QT/Qt
205 DEFINES *= QT_COMPAT
206 }
207
208 wince*:static:gui {
209 QTLIB += qmenu_wce.res
210 }
211
212 !isEmpty(QT_NAMESPACE):DEFINES *= QT_NAMESPACE=$$QT_NAMESPACE
213 mac {
214 !isEmpty(QT_NAMESPACE_MAC_CRC):DEFINES *= QT_NAMESPACE_MAC_CRC=$$QT_NAMESPACE_MAC_CRC
215 }
216
217 #SIMD defines:
218 mmx:DEFINES += QT_HAVE_MMX
219 3dnow:DEFINES += QT_HAVE_3DNOW
220 sse:DEFINES += QT_HAVE_SSE QT_HAVE_MMXEXT
221 sse2:DEFINES += QT_HAVE_SSE2
222 sse3:DEFINES += QT_HAVE_SSE3
223 ssse3:DEFINES += QT_HAVE_SSSE3
224 sse4_1:DEFINES += QT_HAVE_SSE4_1
225 sse4_2:DEFINES += QT_HAVE_SSE4_2
226 avx:DEFINES += QT_HAVE_AVX
227 iwmmxt:DEFINES += QT_HAVE_IWMMXT
@@ -0,0 +1,24
1 # This file is loaded by the mkspecs, before .qmake.cache has been loaded.
2 # Consequently, we have to do some stunts to get values out of the cache.
3
4 exists($$_QMAKE_CACHE_):QMAKE_QT_CONFIG = $$fromfile($$_QMAKE_CACHE_, QMAKE_QT_CONFIG)
5 isEmpty(QMAKE_QT_CONFIG)|!exists($$QMAKE_QT_CONFIG) {
6 qdd = $$QT_BUILD_TREE
7 isEmpty(qdd):exists($$_QMAKE_CACHE_): qdd = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
8 isEmpty(qdd): qdd = $$[QT_INSTALL_DATA]
9 QMAKE_QT_CONFIG = $$qdd/mkspecs/qconfig.pri
10 unset(qdd)
11 }
12 !include($$QMAKE_QT_CONFIG, "", true) {
13 debug(1, "Cannot load qconfig.pri!")
14 } else {
15 debug(1, "Loaded .qconfig.pri from ($$QMAKE_QT_CONFIG)")
16 for(dir, $$list($$unique($$list($$dirname(QMAKE_QT_CONFIG) \
17 $$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR))))) {
18 debug(1, "Loading modules from $${dir}")
19 for(mod, $$list($$files($$dir/modules/qt_*.pri))):include($$mod)
20 }
21 }
22
23 load(qt_functions)
24
@@ -0,0 +1,122
1 defineReplace(qtLibraryTarget) {
2 unset(LIBRARY_NAME)
3 LIBRARY_NAME = $$1
4 mac:!static:contains(QT_CONFIG, qt_framework) {
5 QMAKE_FRAMEWORK_BUNDLE_NAME = $$LIBRARY_NAME
6 export(QMAKE_FRAMEWORK_BUNDLE_NAME)
7 }
8 contains(TEMPLATE, .*lib):CONFIG(debug, debug|release) {
9 !debug_and_release|build_pass {
10 mac:RET = $$member(LIBRARY_NAME, 0)_debug
11 else:win32:RET = $$member(LIBRARY_NAME, 0)d
12 }
13 }
14 isEmpty(RET):RET = $$LIBRARY_NAME
15 return($$RET)
16 }
17
18 defineTest(qtAddLibrary) {
19 INCLUDEPATH -= $$QMAKE_INCDIR_QT/$$1
20 INCLUDEPATH = $$QMAKE_INCDIR_QT/$$1 $$INCLUDEPATH
21
22 LIB_NAME = $$1
23 unset(LINKAGE)
24 mac {
25 CONFIG(qt_framework, qt_framework|qt_no_framework) { #forced
26 QMAKE_FRAMEWORKPATH *= $${QMAKE_LIBDIR_QT}
27 FRAMEWORK_INCLUDE = $$QMAKE_LIBDIR_QT/$${LIB_NAME}.framework/Headers
28 !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
29 INCLUDEPATH -= $$FRAMEWORK_INCLUDE
30 INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
31 }
32 LINKAGE = -framework $${LIB_NAME}$${QT_LIBINFIX}
33 } else:!qt_no_framework { #detection
34 for(frmwrk_dir, $$list($$QMAKE_LIBDIR_QT $$QMAKE_LIBDIR $$(DYLD_FRAMEWORK_PATH) /Library/Frameworks)) {
35 exists($${frmwrk_dir}/$${LIB_NAME}.framework) {
36 QMAKE_FRAMEWORKPATH *= $${frmwrk_dir}
37 FRAMEWORK_INCLUDE = $$frmwrk_dir/$${LIB_NAME}.framework/Headers
38 !qt_no_framework_direct_includes:exists($$FRAMEWORK_INCLUDE) {
39 INCLUDEPATH -= $$FRAMEWORK_INCLUDE
40 INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
41 }
42 LINKAGE = -framework $${LIB_NAME}
43 break()
44 }
45 }
46 }
47 }
48 symbian {
49 isEqual(LIB_NAME, QtCore) {
50 #workaround for dependency from f32file.h on e32svr.h which has moved location in symbian3
51 INCLUDEPATH *= $$OS_LAYER_SYSTEMINCLUDE
52 } else:isEqual(LIB_NAME, QtGui) {
53 # Needed for #include <QtGui> because qs60mainapplication.h includes aknapp.h
54 INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE
55 } else:isEqual(LIB_NAME, QtWebKit) {
56 # Needed for because relative inclusion problem in toolchain
57 INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtXmlPatterns
58 INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
59 isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
60 isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
61 } else:isEqual(LIB_NAME, QtXmlPatterns) {
62 # Needed for #include <QtXmlPatterns/QtXmlPatterns> because relative inclusion problem in toolchain
63 INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
64 } else:isEqual(LIB_NAME, QtNetwork) {
65 isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
66 } else:isEqual(LIB_NAME, QtDeclarative) {
67 isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
68 isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
69 }
70 export(TARGET.EPOCHEAPSIZE)
71 export(TARGET.CAPABILITY)
72 }
73 isEmpty(LINKAGE) {
74 if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
75 win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
76 mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
77 }
78 isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
79 }
80 !isEmpty(QMAKE_LSB) {
81 QMAKE_LFLAGS *= --lsb-libpath=$$$$QMAKE_LIBDIR_QT
82 QMAKE_LFLAGS *= -L/opt/lsb/lib
83 QMAKE_LFLAGS *= --lsb-shared-libs=$${LIB_NAME}$${QT_LIBINFIX}
84 }
85 LIBS += $$LINKAGE
86 export(LIBS)
87 export(INCLUDEPATH)
88 export(QMAKE_FRAMEWORKPATH)
89 export(QMAKE_LFLAGS)
90 return(true)
91 }
92
93 # variable, default
94 defineTest(qtPrepareTool) {
95 isEmpty($$1) {
96 !isEmpty(QT_BUILD_TREE):$$1 = $$QT_BUILD_TREE/bin/$$2
97 else:$$1 = $$[QT_INSTALL_BINS]/$$2
98 }
99 $$1 ~= s,[/\\\\],$$QMAKE_DIR_SEP,
100 contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) {
101 exists($$eval($$1).bat) {
102 $$1 = $$eval($$1).bat
103 } else {
104 $$1 = $$eval($$1).exe
105 }
106 }
107 export($$1)
108 }
109
110 defineTest(packagesExist) {
111 # this can't be done in global scope here because qt_functions is loaded
112 # before the .pro is parsed, so if the .pro set PKG_CONFIG, we wouldn't know it
113 # yet. oops.
114 isEmpty(PKG_CONFIG):PKG_CONFIG = pkg-config # keep consistent with link_pkgconfig.prf! too
115
116 for(package, ARGS) {
117 !system($$PKG_CONFIG --exists $$package):return(false)
118 }
119
120 return(true)
121 }
122
@@ -0,0 +1,4
1
2 CONFIG += console
3
4 qtAddLibrary(QtTest)
@@ -0,0 +1,1
1 CONFIG *= qtopiainc qtopialib
@@ -0,0 +1,1
1 INCLUDEPATH += $$QMAKE_INCDIR_QTOPIA
@@ -0,0 +1,2
1 !isEmpty(QMAKE_LIBDIR_QTOPIA):QMAKE_LIBDIR = $$QMAKE_LIBDIR_QTOPIA
2 LIBS += $$QMAKE_LIBS_QTOPIA
@@ -0,0 +1,24
1 isEmpty(TEMPLATE):TEMPLATE=app
2 CONFIG += qt warn_on console depend_includepath testcase
3
4 # x11 is not defined by configure (the following line is copied from gui.pro)
5 !win32:!embedded:!qpa:!mac:!symbian:CONFIG += x11
6
7 qtAddLibrary(QtTest)
8
9 symbian:{
10 TARGET.EPOCHEAPSIZE = 0x100000 0x2000000
11 # DEFINES += QTEST_NO_SPECIALIZATIONS
12 TARGET.CAPABILITY="None"
13 RSS_RULES ="group_name=\"QtTests\";"
14 MMP_RULES*=SMPSAFE
15 }
16
17 # prefix test binary with tst_
18 !contains(TARGET, ^tst_.*):TARGET = $$join(TARGET,,"tst_")
19
20 isEmpty(target.path) {
21 target.path += $$[QT_INSTALL_PREFIX]/tests/qt4/$${TARGET}
22 }
23
24 INSTALLS += target
@@ -0,0 +1,7
1 CONFIG -= debug
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_RELEASE
3 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RELEASE
4 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_RELEASE
5 QMAKE_LFLAGS += $$QMAKE_LFLAGS_RELEASE
6 QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE
7 !debug_and_release:fix_output_dirs:fixExclusiveOutputDirs(release, debug) No newline at end of file
@@ -0,0 +1,29
1 defined(qtPrepareTool)|load(qt_functions) ### Qt 5: see default_pre.prf
2 qtPrepareTool(QMAKE_RCC, rcc)
3
4 isEmpty(RCC_DIR):RCC_DIR = .
5 isEmpty(QMAKE_RESOURCE_PREFIX):QMAKE_RESOURCE_PREFIX = /tmp/
6 isEmpty(QMAKE_MOD_RCC):QMAKE_MOD_RCC = qrc
7
8 resource_combine {
9 rcc.CONFIG += combine
10 rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_combined$${first(QMAKE_EXT_CPP)}
11 } else {
12 rcc.output = $$RCC_DIR/$${first(QMAKE_MOD_RCC)}_${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
13 }
14 !contains(QMAKE_RESOURCE_FLAGS, -root):!isEmpty(QMAKE_RESOURCE_ROOT):QMAKE_RESOURCE_FLAGS += -root $$QMAKE_RESOURCE_ROOT
15 !contains(QMAKE_RESOURCE_FLAGS, -name) {
16 resource_combine {
17 isEmpty(QMAKE_RESOURCE_NAME):!isEmpty(TARGET):QMAKE_RESOURCE_NAME = $$TARGET
18 !isEmpty(QMAKE_RESOURCE_NAME):QMAKE_RESOURCE_FLAGS += -name $$QMAKE_RESOURCE_NAME
19 } else {
20 QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE}
21 }
22 }
23 rcc.commands = "$$QMAKE_RCC" $$QMAKE_RESOURCE_FLAGS "${QMAKE_FILE_IN}" -o "${QMAKE_FILE_OUT}"
24 rcc.depend_command = "$$QMAKE_RCC" -list $$QMAKE_RESOURCE_FLAGS "${QMAKE_FILE_IN}"
25 rcc.input = RESOURCES
26 rcc.variable_out = SOURCES
27 rcc.name = RCC ${QMAKE_FILE_IN}
28 silent:rcc.commands = @echo rcc "${QMAKE_FILE_IN}" && $$rcc.commands
29 QMAKE_EXTRA_COMPILERS += rcc
@@ -0,0 +1,7
1 CONFIG -= static
2 contains(TEMPLATE, ".*lib"): {
3 CONFIG += dll
4 CONFIG -= staticlib
5 win32:QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL
6 }
7 !static_and_shared:fix_output_dirs:fixExclusiveOutputDirs(shared, static)
@@ -0,0 +1,6
1 !macx-xcode {
2 QMAKE_CC = @echo compiling $< && $$QMAKE_CC
3 QMAKE_CXX = @echo compiling $< && $$QMAKE_CXX
4 !contains(QMAKE_LINK, "@:"):QMAKE_LINK = @echo linking $@ && $$QMAKE_LINK
5 QMAKE_LINK_SHLIB = @echo linking $@ && $$QMAKE_LINK_SHLIB
6 }
@@ -0,0 +1,14
1 CONFIG -= shared dll
2 contains(TEMPLATE, ".*lib"):{
3 CONFIG += staticlib
4 unix {
5 QMAKE_CFLAGS += $$QMAKE_CFLAGS_STATIC_LIB
6 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STATIC_LIB
7 }
8 }
9
10 mac {
11 QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB
12 }
13
14 !static_and_shared:fix_output_dirs:fixExclusiveOutputDirs(static, shared)
@@ -0,0 +1,3
1 !contains(TEMPLATE, subdirs):!macx-xcode:!symbian-abld:!symbian-sbsv2 {
2 addExclusiveBuilds(static, Static, shared, Shared)
3 }
@@ -0,0 +1,1
1 CONFIG += static
@@ -0,0 +1,69
1 !contains(TEMPLATE,subdirs) {
2
3 check.files =
4 check.path = .
5
6 # If the test ends up in a different directory, we should cd to that directory.
7 # Note that qmake modifies DESTDIR after this file is processed,
8 # therefore, testing DESTDIR for emptiness is not sufficient.
9 # Also note that in debug-and-release mode we don't want to cd into the debug/release
10 # directory (e.g. if the test goes to foo/release/tst_thing.exe, we want to do
11 # cd foo && release/tst_thing.exe ).
12 MUNGED_DESTDIR=$$DESTDIR
13 MUNGED_TARGET=$$TARGET
14 win32:debug_and_release {
15 contains(DESTDIR,^release$)|contains(DESTDIR,^debug$):MUNGED_DESTDIR=
16
17 # In debug-and-release mode, the first ../ in TARGET breaks out of the debug/release
18 # subdirectory. However, since make's working directory is already outside of the
19 # debug/release subdirectory, this first ../ should be ignored when deciding if
20 # we have to change directory before running the test.
21 MUNGED_TARGET=$$replace(MUNGED_TARGET,^\\.\\./,)
22 }
23 !isEmpty(MUNGED_DESTDIR):!contains(MUNGED_DESTDIR,^\\./?):check.commands = cd $(DESTDIR) &&
24 contains(MUNGED_TARGET,.*/.*):check.commands = cd $(DESTDIR) &&
25
26 # Allow for a custom test runner script
27 check.commands += $(TESTRUNNER)
28
29 macx {
30 app_bundle: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET)
31 else: check.commands += ./$(QMAKE_TARGET)
32 }
33 else:unix: check.commands += ./$(QMAKE_TARGET)
34 else: check.commands += $(DESTDIR_TARGET)
35
36 # For Qt/Embedded, run every test app as a QWS server
37 embedded: check.commands += -qws
38
39 # Allow for custom arguments to tests
40 check.commands += $(TESTARGS)
41
42 # If the test is marked as insignificant, discard the exit code
43 insignificant_test:check.commands = -$${check.commands}
44
45 QMAKE_EXTRA_TARGETS *= check
46
47 !debug_and_release|build_pass {
48 check.depends = first
49 } else {
50 check.CONFIG = recursive
51 # In debug and release mode, only run the test once.
52 # Run debug if available, release otherwise.
53 debug_and_release {
54 check.target = dummy_check
55 check.recurse_target = check
56 debug {
57 real_check.depends = debug-check
58 real_check.target = check
59 QMAKE_EXTRA_TARGETS += real_check
60 } else {
61 real_check.depends = release-check
62 real_check.target = check
63 QMAKE_EXTRA_TARGETS += real_check
64 }
65 }
66 }
67
68 }
69
@@ -0,0 +1,34
1 #
2 # Microcontroler switch
3 #
4 #
5 contains( TEMPLATE, app ) {
6 !isEmpty( BSP ) {
7 include(./boards/$$BSP/bsp.pri)
8 }
9 }
10
11 #contains( TEMPLATE, lib ) {
12 !isEmpty( UCMODEL ) {
13 include(../$$UCMODEL/qmake.conf)
14 }
15 #}
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@@ -0,0 +1,117
1 defined(qtPrepareTool)|load(qt_functions) ### Qt 5: see default_pre.prf
2 qtPrepareTool(QMAKE_UIC3, uic3)
3 qtPrepareTool(QMAKE_UIC, uic)
4
5 isEmpty(UI_DIR):UI_DIR = .
6 isEmpty(UI_SOURCES_DIR):UI_SOURCES_DIR = $$UI_DIR
7 isEmpty(UI_HEADERS_DIR):UI_HEADERS_DIR = $$UI_DIR
8 isEmpty(QMAKE_MOD_UIC):QMAKE_MOD_UIC = ui_
9
10 # Allow FORMS3 to contain old UIC3 forms, while FORMS contains new
11 # UIC files in the same project. However, if CONFIG+=uic3 and no
12 # FORMS3 is defined, FORMS may only contain old UIC3 files.
13
14 !uic3|!isEmpty(FORMS3) {
15 # If we have CONFIG+=uic3 and no FORMS3, then don't do this step,
16 # as UIC3 files don't need a ui_<formname>.h file
17
18 uic.commands = $$QMAKE_UIC ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
19 uic.depend_command = "$$QMAKE_UIC" -d "${QMAKE_FILE_IN}"
20 uic.output = $$UI_HEADERS_DIR/$${QMAKE_MOD_UIC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
21 uic.input = FORMS
22 uic.variable_out = GENERATED_FILES
23 uic.CONFIG += no_link target_predeps
24 uic.name = UIC ${QMAKE_FILE_IN}
25 silent:uic.commands = @echo uic ${QMAKE_FILE_IN} && $$uic.commands
26 QMAKE_EXTRA_COMPILERS += uic
27 INCREDIBUILD_XGE += uic
28 }
29
30 !isEmpty(FORMS)|!isEmpty(FORMS3) {
31 ui_dir_short = $$UI_HEADERS_DIR
32 contains(QMAKE_HOST.os,Windows):ui_dir_short ~= s,^.:,/,
33 contains(ui_dir_short, ^[/\\\\].*):INCLUDEPATH += $$UI_HEADERS_DIR
34 else:INCLUDEPATH += $$OUT_PWD/$$UI_HEADERS_DIR
35 }
36
37 # Backwards compatibility: Make shadow builds with default UI_DIR work
38 # if the user did not add the source dir explicitly.
39 equals(UI_DIR, .) {
40 CONFIG -= include_source_dir
41 CONFIG = include_source_dir $$CONFIG
42 }
43
44 uic3 {
45 isEmpty(FORMS3) {
46 UIC3_FORMS = FORMS
47 !build_pass:message("Project contains CONFIG+=uic3, but no files in FORMS3; UI files in FORMS treated as UIC3 form files.")
48 } else {
49 UIC3_FORMS = FORMS3
50 }
51
52 uic3_decl.commands = $$QMAKE_UIC3 ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
53 uic3_decl.dependency_type = TYPE_UI
54 uic3_decl.output = $$UI_HEADERS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
55 uic3_decl.input = $$UIC3_FORMS
56 uic3_decl.CONFIG += no_link
57 uic3_decl.variable_out = GENERATED_FILES UIC3_HEADERS
58 uic3_decl.name = UIC3 Decl ${QMAKE_FILE_IN}
59 silent:uic3_decl.commands = @echo uic3 ${QMAKE_FILE_IN} && $$uic3_decl.commands
60 QMAKE_EXTRA_COMPILERS += uic3_decl
61
62 uic3_impl.commands = $$QMAKE_UIC3 -impl ${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
63 uic3_impl.dependency_type = TYPE_UI
64 uic3_impl.output = $$UI_SOURCES_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
65 uic3_impl.depends = $$UI_HEADERS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
66 uic3_impl.input = $$UIC3_FORMS
67 uic3_impl.variable_out = GENERATED_SOURCES
68 uic3_impl.name = UIC3 Impl ${QMAKE_FILE_IN}
69 silent:uic3_impl.commands = @echo uic3 -impl ${QMAKE_FILE_IN} && $$uic3_impl.commands
70 QMAKE_EXTRA_COMPILERS += uic3_impl
71
72 ### add a moc step
73 load(moc)
74 uic3_moc.commands = $$moc_header.commands
75 uic3_moc.output = $$moc_header.output
76 uic3_moc.depends = $$UI_HEADERS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
77 uic3_moc.input = UIC3_HEADERS
78 uic3_moc.variable_out = GENERATED_SOURCES
79 uic3_moc.name = $$moc_header.name
80 !contains(TEMPLATE, "vc.*"):!isEmpty(INCLUDETEMP):uic3_moc.depends += $$INCLUDETEMP
81 QMAKE_EXTRA_COMPILERS += uic3_moc
82 }
83
84 defineReplace(imageCollectionCmd) {
85 unset(EMBEDDED_IMAGES)
86 RET =
87 for(image, $$list($$split(1))) {
88 EMBEDDED_IMAGES += $$image
89 count(EMBEDDED_IMAGES, 5) {
90 isEmpty(RET): RET += echo $$EMBEDDED_IMAGES > $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
91 else: RET += echo $$EMBEDDED_IMAGES >> $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
92 unset(EMBEDDED_IMAGES)
93 }
94 }
95 !isEmpty(EMBEDDED_IMAGES):RET += echo $$EMBEDDED_IMAGES >> $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
96 !isEmpty(RET) {
97 RET += $$QMAKE_UIC3 -embed $$TARGET -f $${UI_DIR}/images.tmp -o $$2 $$escape_expand(\\n\\t)
98 return($$RET)
99 }
100 return($$QMAKE_UIC3 -embed $$TARGET $$1 -o $$2)
101 }
102
103 image_collection.output = $${UI_DIR}/qmake_image_collection$${first(QMAKE_EXT_CPP)}
104 image_collection.variable_out = SOURCES
105 image_collection.input = IMAGES
106 image_collection.CONFIG += combine
107 image_collection.name = UIC3 Image collection in ${QMAKE_FILE_OUT}
108 !win32 {
109 image_collection.commands = $$QMAKE_UIC3 -embed $$TARGET ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
110 silent:image_collection.commands = @echo uic3 -embed ${QMAKE_FILE_IN} && $$image_collection.commands
111 } else {
112 image_collection.commands = ${QMAKE_FUNC_imageCollectionCmd}
113 silent:image_collection.commands = @echo uic3 -embed $$TARGET -f $${UI_DIR}/images.tmp && $image_collection.commands
114 }
115 QMAKE_EXTRA_COMPILERS += image_collection
116
117
@@ -0,0 +1,14
1 QT += xml
2 qt:load(qt)
3
4 # Include the correct version of the UiLoader library
5 symbian: QTUITOOLS_LINKAGE = -lQtUiTools.lib
6 else: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
7
8 CONFIG(debug, debug|release) {
9 mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
10 win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
11 }
12 LIBS += $$QTUITOOLS_LINKAGE
13
14 INCLUDEPATH = $$QMAKE_INCDIR_QT/QtUiTools $$INCLUDEPATH
@@ -0,0 +1,6
1
2 !staticlib:!static:contains(TEMPLATE, lib) {
3 QMAKE_LFLAGS_SHLIB += $$QMAKE_LFLAGS_BSYMBOLIC_FUNC
4
5 !isEmpty(QMAKE_DYNAMIC_LIST_FILE):QMAKE_LFLAGS_SHLIB += $$QMAKE_LFLAGS_DYNAMIC_LIST$$QMAKE_DYNAMIC_LIST_FILE
6 }
@@ -0,0 +1,1
1
@@ -0,0 +1,23
1 !CONFIG(separate_debug_info):CONFIG(debug, debug|release):!staticlib:!static:!contains(TEMPLATE, subdirs):!isEmpty(QMAKE_OBJCOPY) {
2
3 contains(TEMPLATE, "lib") {
4 QMAKE_GDB_INDEX = { test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\"; } &&
5 QMAKE_GDB_DIR = .
6 } else {
7 QMAKE_GDB_INDEX = { test -n \"$(DESTDIR)\" && DESTDIR=\"$(DESTDIR)\" || DESTDIR=.; } &&
8 QMAKE_GDB_DIR = \$\$DESTDIR
9 }
10
11 QMAKE_GDB_INDEX += \
12 test \$\$(gdb --version | sed -e \'s,[^0-9]\\+\\([0-9]\\)\\.\\([0-9]\\).*,\\1\\2,;q\') -gt 72 && \
13 gdb --nx --batch --quiet -ex \'set confirm off\' -ex \"save gdb-index $$QMAKE_GDB_DIR\" -ex quit \'$(TARGET)\' && \
14 test -f $(TARGET).gdb-index && \
15 $$QMAKE_OBJCOPY --add-section \'.gdb_index=$(TARGET).gdb-index\' --set-section-flags \'.gdb_index=readonly\' \'$(TARGET)\' \'$(TARGET)\' && \
16 $$QMAKE_DEL_FILE $(TARGET).gdb-index || true
17
18 !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
19 QMAKE_POST_LINK = $$QMAKE_GDB_INDEX $$QMAKE_POST_LINK
20
21 silent:QMAKE_POST_LINK = @echo indexing $@ for gdb && $$QMAKE_POST_LINK
22 }
23
@@ -0,0 +1,4
1 QMAKE_CFLAGS += $$QMAKE_CFLAGS_HIDESYMS
2 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_HIDESYMS
3 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_HIDESYMS
4 QMAKE_LFLAGS += $$QMAKE_LFLAGS_HIDESYMS
@@ -0,0 +1,2
1 DEFINES += _LARGEFILE64_SOURCE _LARGEFILE_SOURCE
2
@@ -0,0 +1,17
1 contains(QT_CONFIG, opengles1) {
2 INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
3 !isEmpty(QMAKE_LIBDIR_OPENGL_ES1):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES1
4 target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1
5 else:LIBS += $$QMAKE_LIBS_OPENGL_ES1
6 } else:contains(QT_CONFIG, opengles2) {
7 INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2
8 !isEmpty(QMAKE_LIBDIR_OPENGL_ES2):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2
9 target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES2
10 else:LIBS += $$QMAKE_LIBS_OPENGL_ES2
11 } else {
12 INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
13 !isEmpty(QMAKE_LIBDIR_OPENGL):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL
14 target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_QT
15 else:LIBS += $$QMAKE_LIBS_OPENGL
16 }
17
@@ -0,0 +1,15
1 !isEmpty(QMAKE_INCDIR_OPENVG): INCLUDEPATH += $$QMAKE_INCDIR_OPENVG
2 !isEmpty(QMAKE_LIBDIR_OPENVG): QMAKE_LIBDIR += -L$$QMAKE_LIBDIR_OPENVG
3 !isEmpty(QMAKE_LIBS_OPENVG): LIBS += $$QMAKE_LIBS_OPENVG
4
5 contains(QT_CONFIG, egl) {
6 !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
7 !isEmpty(QMAKE_LIBDIR_EGL): LIBS += -L$$QMAKE_LIBDIR_EGL
8 !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
9 }
10
11 contains(QT_CONFIG, openvg_on_opengl) {
12 !isEmpty(QMAKE_INCDIR_OPENGL): INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
13 !isEmpty(QMAKE_LIBDIR_OPENGL): QMAKE_LIBDIR += -L$$QMAKE_LIBDIR_OPENGL
14 !isEmpty(QMAKE_LIBS_OPENGL): LIBS += $$QMAKE_LIBS_OPENGL
15 }
@@ -0,0 +1,20
1
2 !separate_debug_info_nocopy:!staticlib:!static:!contains(TEMPLATE, subdirs):!isEmpty(QMAKE_OBJCOPY) {
3 qnx:debug_info_suffix=sym
4 else:debug_info_suffix=debug
5 QMAKE_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; targ=`basename $(TARGET)`; $$QMAKE_OBJCOPY --only-keep-debug \"\$\$targ\" \"\$\$targ.$$debug_info_suffix\" && $$QMAKE_OBJCOPY --strip-debug \"\$\$targ\" && $$QMAKE_OBJCOPY --add-gnu-debuglink=\"\$\$targ.$$debug_info_suffix\" \"\$\$targ\" && chmod -x \"\$\$targ.$$debug_info_suffix\"
6 QMAKE_INSTALL_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; $(INSTALL_FILE) `basename $(TARGET)`.$$debug_info_suffix $(INSTALL_ROOT)/\$\$target_path/
7
8 !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
9 QMAKE_POST_LINK = $$QMAKE_SEPARATE_DEBUG_INFO $$QMAKE_POST_LINK
10 silent:QMAKE_POST_LINK = @echo creating $@.$$debug_info_suffix && $$QMAKE_POST_LINK
11
12 isEmpty(DESTDIR) {
13 target.targets += "`basename $(TARGET)`.$$debug_info_suffix"
14 QMAKE_DISTCLEAN += "`basename $(TARGET)`.$$debug_info_suffix"
15 } else {
16 target.targets += "$(DESTDIR)/`basename $(TARGET)`.$$debug_info_suffix"
17 QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.$$debug_info_suffix"
18 }
19 }
20
@@ -0,0 +1,14
1 !isEmpty(QMAKE_CFLAGS_THREAD) {
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_THREAD
3 QMAKE_EXPORT_CFLAGS += $$QMAKE_CFLAGS_THREAD
4 }
5 !isEmpty(QMAKE_CXXFLAGS_THREAD) {
6 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_THREAD
7 QMAKE_EXPORT_CXXFLAGS += $$QMAKE_CXXFLAGS_THREAD
8 }
9 INCLUDEPATH += $$QMAKE_INCDIR_THREAD
10 LIBS += $$QMAKE_LIBS_THREAD
11 !isEmpty(QMAKE_LFLAGS_THREAD):QMAKE_LFLAGS += $$QMAKE_LFLAGS_THREAD
12 !isEmpty(QMAKE_CC_THREAD):QMAKE_CC = $$QMAKE_CC_THREAD
13 !isEmpty(QMAKE_CXX_THREAD):QMAKE_CXX = $$QMAKE_CXX_THREAD
14 !isEmpty(QMAKE_LINK_THREAD):QMAKE_LINK = $$QMAKE_LINK_THREAD
@@ -0,0 +1,1
1 CONFIG *= x11lib x11inc
@@ -0,0 +1,3
1 INCLUDEPATH += $$QMAKE_INCDIR_X11
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_X11
3 QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_X11
@@ -0,0 +1,2
1 !isEmpty(QMAKE_LIBDIR_X11):QMAKE_LIBDIR += $$QMAKE_LIBDIR_X11
2 LIBS_PRIVATE += $$QMAKE_LIBS_X11
@@ -0,0 +1,2
1 !isEmpty(QMAKE_LIBDIR_X11):QMAKE_LIBDIR += $$QMAKE_LIBDIR_X11
2 LIBS_PRIVATE += $$QMAKE_LIBS_X11SM
@@ -0,0 +1,5
1 !isEmpty(QMAKE_LINK_C):QMAKE_LINK = $$QMAKE_LINK_C
2 !isEmpty(QMAKE_LINK_C_SHLIB) {
3 !isEmpty(QMAKE_LINK_SHLIB_CMD):QMAKE_LINK_SHLIB_CMD ~= s/^$$re_escape($$QMAKE_LINK_SHLIB)$/$$QMAKE_LINK_C_SHLIB/
4 QMAKE_LINK_SHLIB = $$QMAKE_LINK_C_SHLIB
5 }
@@ -0,0 +1,64
1 # VxWorks Munching Feature
2 # When compiling C++ sources on VxWorks in kernel mode, all .o files have to
3 # be processed by the so-called 'munch' script which will generate
4 # additional code for static c'tors and d'tors. The resulting .c file has to
5 # be compiled in turn and linked to the executable.
6 # This can only been done when linking applications, since the munch script
7 # generates a .c file containing static symbols: linking a lib that was
8 # already munched to a munched application would lead to duplicate symbols!
9
10 isEmpty(VXWORKS_MUNCH_EXT):VXWORKS_MUNCH_EXT = vxm
11 isEmpty(VXWORKS_MUNCH_TOOL):VXWORKS_MUNCH_TOOL = $(WIND_BASE)/host/resource/hutils/tcl/munch.tcl
12
13
14 !exists($$VXWORKS_MUNCH_TOOL) {
15 error("Could not find VxWorks Munch tool: '$${VXWORKS_MUNCH_TOOL}'. Please set the environment variable WIND_BASE correctly.")
16 }
17
18 # The following scope is entered for any project that specifies 'shared' as well
19 # as for any project specifying neither 'shared', nor 'lib', nor 'staticlib'.
20 # This means that for a static build only the executable is munched, while for
21 # a shared build, every lib, plugin and executable is munched separately.
22
23 shared|!staticlib:!lib {
24 *-dcc {
25 VXWORKS_MUNCH_CMD = targ=`basename $(TARGET)`; \
26 ddump -Ng \"$(TARGET)\" | tclsh $$VXWORKS_MUNCH_TOOL -c $$VXWORKS_ARCH_MUNCH >\"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" && \
27 $$QMAKE_CC -c $$QMAKE_CFLAGS \"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" -o \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" && \
28 $$QMAKE_LINK $$QMAKE_LFLAGS -X -r5 -r4 \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" \"$(TARGET)\" -o \"$(TARGET).munched\" && \
29 mv \"$(TARGET).munched\" \"$(TARGET)\" && \
30 chmod +x \"$(TARGET)\"
31 }
32 *-g++ {
33 VXWORKS_MUNCH_CMD = targ=`basename $(TARGET)`; \
34 nm \"$(DESTDIR)$(TARGET)\" | tclsh $$VXWORKS_MUNCH_TOOL -c $$VXWORKS_ARCH_MUNCH >\"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" && \
35 $$QMAKE_CC -c $$QMAKE_CFLAGS -fdollars-in-identifiers \"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" -o \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" && \
36 $$QMAKE_LINK $$QMAKE_LFLAGS -nostdlib -Wl,-X -T $(WIND_BASE)/target/h/tool/gnu/ldscripts/link.OUT \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" \"$(DESTDIR)$(TARGET)\" -o \"$(DESTDIR)$(TARGET).munched\" && \
37 mv \"$(DESTDIR)$(TARGET).munched\" \"$(DESTDIR)$(TARGET)\" && \
38 chmod +x \"$(DESTDIR)$(TARGET)\"
39 }
40
41 # We need to create a dummy lib.a in case someone links against this lib.
42 # In VxWorks it's the responsibility of the run-time linker ld to resolve
43 # symbols, since there are no real shared libraries for the toolchain linker
44 # to link against.
45
46 shared:contains(TEMPLATE, lib) {
47 VXWORKS_MUNCH_CMD += "&&"
48 VXWORKS_MUNCH_CMD += (atarg=`basename $(TARGET) .so.$${VERSION}`.a ; touch \"$(DESTDIR)\$\${atarg}\")
49 }
50
51 !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
52 QMAKE_POST_LINK = $$VXWORKS_MUNCH_CMD$$QMAKE_POST_LINK
53 silent:QMAKE_POST_LINK = @echo creating $@.$$VXWORKS_MUNCH_EXT && $$QMAKE_POST_LINK
54
55 isEmpty(DESTDIR) {
56 target.targets += "`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
57 QMAKE_DISTCLEAN += "`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
58 } else {
59 target.targets += "$(DESTDIR)/`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
60 QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
61 }
62 *-g++:LIBS += -lgcc
63 }
64
@@ -0,0 +1,4
1 CONFIG -= warn_on
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_WARN_OFF
3 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_WARN_OFF
4 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_WARN_OFF No newline at end of file
@@ -0,0 +1,5
1 CONFIG -= warn_off
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_WARN_ON
3 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_WARN_ON
4 QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_WARN_ON
5
@@ -0,0 +1,4
1 CONFIG -= windows
2 contains(TEMPLATE, ".*app") {
3 QMAKE_LFLAGS += $$QMAKE_LFLAGS_CONSOLE $$QMAKE_LFLAGS_EXE
4 }
@@ -0,0 +1,11
1 !isEmpty(CE_ARCH) {
2 QMAKESPEC_DIR = $$QMAKESPEC
3 exists($$QMAKESPEC_DIR/default_post.prf) {
4 isEmpty(QMAKESPEC_DIR):QMAKESPEC_DIR = $$QMAKESPEC_ORIGINAL
5 !isEmpty(QMAKESPEC_DIR):load($$QMAKESPEC_DIR/default_post.prf)
6 }
7 }
8
9 # Now load the global default_post
10 load(default_post)
11
@@ -0,0 +1,3
1 CONFIG = rtti_off exceptions_off stl_off incremental_off thread_off windows $$CONFIG
2 load(default_pre)
3
@@ -0,0 +1,11
1 isEmpty(QMAKE_DUMPCPP_NAME) {
2 QMAKE_DUMPCPP_NAME = make_dumpcpp
3 }
4
5 # auto depend on dumpcpp
6 !contains(TARGET, dumpcpp) {
7 isEmpty(QMAKE_DUMPCPP_SRC): QMAKE_DUMPCPP_SRC = "$(QTDIR)/tools/activeqt/dumpcpp"
8 make_dumpcpp.commands = (cd $$QMAKE_DUMPCPP_SRC && $(QMAKE) && $(MAKE))
9 QMAKE_EXTRA_TARGETS += $$QMAKE_DUMPCPP_NAME
10 }
11
@@ -0,0 +1,12
1 !if(plugin:no_plugin_manifest):if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):!static:equals(TEMPLATE, "lib") {
2 MANIFEST_DIR = $$OBJECTS_DIR
3 isEmpty(MANIFEST_DIR):MANIFEST_DIR = .
4 NOPATH_TARGET = $$TARGET
5 NOPATH_TARGET ~= s,\\\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
6 NOPATH_TARGET ~= s,\\\\,/,g # Change to single type separators
7 NOPATH_TARGET ~= s,^(.*/)+,, # Remove all paths
8 QMAKE_LFLAGS += /MANIFEST $$quote(/MANIFESTFILE:\"$${MANIFEST_DIR}\\$${NOPATH_TARGET}.intermediate.manifest\")
9 !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
10 QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);2)$$QMAKE_POST_LINK
11 QMAKE_CLEAN += \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
12 }
@@ -0,0 +1,12
1 if(win32-msvc2005*|win32-msvc2008*|win32-msvc2010*):equals(TEMPLATE, "app") {
2 MANIFEST_DIR = $$OBJECTS_DIR
3 isEmpty(MANIFEST_DIR):MANIFEST_DIR = .
4 NOPATH_TARGET = $$TARGET
5 NOPATH_TARGET ~= s,\\\\ , ,q # Remove space escaping (NOPATH_TARGET is quoted)
6 NOPATH_TARGET ~= s,\\\\,/,g # Change to single type separators
7 NOPATH_TARGET ~= s,^(.*/)+,, # Remove all paths
8 QMAKE_LFLAGS += /MANIFEST $$quote(/MANIFESTFILE:\"$${MANIFEST_DIR}\\$${NOPATH_TARGET}.intermediate.manifest\")
9 !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
10 QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);1)$$QMAKE_POST_LINK
11 QMAKE_CLEAN += \"$$replace(MANIFEST_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
12 }
@@ -0,0 +1,5
1 CONFIG -= exceptions_off
2 QMAKE_CFLAGS *= $$QMAKE_CFLAGS_EXCEPTIONS_ON
3 QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_EXCEPTIONS_ON
4 QMAKE_LFLAGS *= $$QMAKE_LFLAGS_EXCEPTIONS_ON
5
@@ -0,0 +1,5
1 CONFIG -= exceptions
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_EXCEPTIONS_OFF
3 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_EXCEPTIONS_OFF
4 QMAKE_LFLAGS += $$QMAKE_LFLAGS_EXCEPTIONS_OFF
5
@@ -0,0 +1,5
1 CONFIG(release, debug|release) {
2 QMAKE_CFLAGS *= $$QMAKE_CFLAGS_LTCG
3 QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_LTCG
4 QMAKE_LFLAGS *= $$QMAKE_LFLAGS_LTCG
5 }
@@ -0,0 +1,2
1 QMAKE_CFLAGS += $$QMAKE_CFLAGS_MP
2 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MP
@@ -0,0 +1,11
1 # WinCE does not have a platform directory for .prf files, and the
2 # win32 directory is searched for .prfs by qmake on WinCE. Ideally
3 # there should be a features/wince/opengl.prf which contains the wince
4 # block below.
5
6 wince* {
7 include(../unix/opengl.prf)
8 } else {
9 QMAKE_LIBS += $$QMAKE_LIBS_OPENGL
10 QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENGL
11 }
@@ -0,0 +1,7
1 QMAKE_LIBS += $$QMAKE_LIBS_OPENVG
2 QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENVG
3
4 contains(QT_CONFIG, openvg_on_opengl) {
5 QMAKE_LIBS += $$QMAKE_LIBS_OPENGL
6 QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENGL
7 }
@@ -0,0 +1,32
1 !debug_and_release|build_pass {
2 CONFIG(debug, debug|release) {
3 LIBS += -lQAxContainerd
4 } else {
5 LIBS += -lQAxContainer
6 }
7 } else {
8 LIBS += -lQAxContainer
9 }
10
11 qtPrepareTool(QMAKE_DUMPCPP, dumpcpp)
12
13 dumpcpp_decl.commands = $$QMAKE_DUMPCPP ${QMAKE_FILE_IN} -o ${QMAKE_FILE_BASE}
14 qaxcontainer_compat: dumpcpp_decl.commands += -compat
15 dumpcpp_decl.output = ${QMAKE_FILE_BASE}.h
16 dumpcpp_decl.input = TYPELIBS
17 dumpcpp_decl.variable_out = HEADERS
18 dumpcpp_decl.name = DUMP
19 dumpcpp_decl.CONFIG += no_link
20 dumpcpp_decl.depends = $$QMAKE_DUMPCPP
21
22 QMAKE_EXTRA_COMPILERS += dumpcpp_decl
23
24
25 dumpcpp_impl.commands = $$QMAKE_DUMPCPP -donothing
26 dumpcpp_impl.output = ${QMAKE_FILE_BASE}.cpp
27 dumpcpp_impl.input = TYPELIBS
28 dumpcpp_impl.variable_out = SOURCES
29 dumpcpp_impl.name = CPP
30 dumpcpp_impl.depends = $$QMAKE_DUMPCPP ${QMAKE_FILE_BASE}.h
31
32 QMAKE_EXTRA_COMPILERS += dumpcpp_impl
@@ -0,0 +1,59
1 build_pass:console: {
2 warning("QAxServer applications cannot be console applications.")
3 warning("Remove 'console' from your CONFIG.")
4 }
5
6 ACTIVEQT_VERSION = $$VERSION
7 isEmpty(ACTIVEQT_VERSION):ACTIVEQT_VERSION = 1.0
8
9 DEFINES += QAXSERVER
10
11 contains(TEMPLATE, "vc.*") {
12 ACTIVEQT_IDC = $${QMAKE_IDC} ### Qt5: remove me
13 qtPrepareTool(ACTIVEQT_IDC, idc)
14 ACTIVEQT_IDL = $${QMAKE_IDL}
15 ACTIVEQT_TARGET = "$(TargetPath)"
16 win32-msvc {
17 ACTIVEQT_NEWLINE = $$escape_expand(\\t)
18 ACTIVEQT_OUTPUT = $(IntDir)/$${TARGET}
19 } else {
20 ACTIVEQT_NEWLINE = $$escape_expand(\\n\\t)
21 ACTIVEQT_OUTPUT = $(IntDir)$${TARGET}
22 }
23 ACTIVEQT_TLBOUT = "$(TargetDir)/$${TARGET}.tlb"
24 GENERATED += $${OBJECTS_DIR}/$${TARGET}.idl $${ACTIVEQT_TLBOUT}
25 } else {
26 ACTIVEQT_IDC = -$(IDC)
27 ACTIVEQT_IDL = -$(IDL)
28 ACTIVEQT_NEWLINE = $$escape_expand(\\n\\t)
29 ACTIVEQT_TARGET = $(DESTDIR_TARGET)
30 ACTIVEQT_OUTPUT = $(OBJECTS_DIR)/$${TARGET}
31 isEmpty(DESTDIR) {
32 ACTIVEQT_TLBOUT = $${TARGET}.tlb
33 } else {
34 ACTIVEQT_TLBOUT = $${DESTDIR}/$${TARGET}.tlb
35 }
36 }
37
38 !qaxserver_no_postlink {
39 !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK += $$quote($$ACTIVEQT_NEWLINE)
40 QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /idl $${ACTIVEQT_OUTPUT}.idl -version $${ACTIVEQT_VERSION}$${ACTIVEQT_NEWLINE})
41 !isEmpty(RC_FILE) {
42 QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDL "$${ACTIVEQT_OUTPUT}.idl" /nologo /tlb "$${ACTIVEQT_OUTPUT}.tlb"$$ACTIVEQT_NEWLINE)
43 QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /tlb $${ACTIVEQT_OUTPUT}.tlb$$ACTIVEQT_NEWLINE)
44 } else {
45 QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDL "$${ACTIVEQT_OUTPUT}.idl" /nologo /tlb "$${ACTIVEQT_TLBOUT}"$$ACTIVEQT_NEWLINE)
46 message("No rc-file linked into project; type library will be a separate file.")
47 }
48 QMAKE_POST_LINK += $$quote($$ACTIVEQT_IDC $${ACTIVEQT_TARGET} /regserver)
49 QMAKE_CLEAN += $${ACTIVEQT_OUTPUT}.idl $${ACTIVEQT_OUTPUT}.tlb
50 }
51
52 qt:!target_qt {
53 CONFIG(debug, debug|release) {
54 QMAKE_LIBS_QT_ENTRY = -lQAxServerd
55 } else {
56 QMAKE_LIBS_QT_ENTRY = -lQAxServer
57 }
58 dll:QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY
59 }
@@ -0,0 +1,1
1 CONFIG *= qt
@@ -0,0 +1,3
1 CONFIG -= rtti_off
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_RTTI_ON
3 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RTTI_ON
@@ -0,0 +1,4
1 CONFIG -= rtti
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_RTTI_OFF
3 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RTTI_OFF
4 DEFINES += QT_NO_DYNAMIC_CAST No newline at end of file
@@ -0,0 +1,3
1 CONFIG -= stl_off
2 QMAKE_CFLAGS *= $$QMAKE_CFLAGS_STL_ON
3 QMAKE_CXXFLAGS *= $$QMAKE_CXXFLAGS_STL_ON
@@ -0,0 +1,3
1 CONFIG -= stl
2 QMAKE_CFLAGS += $$QMAKE_CFLAGS_STL_OFF
3 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STL_OFF
@@ -0,0 +1,26
1 CONFIG -= thread_off
2 qt {
3 target_qt:PRL_EXPORT_DEFINES += QT_THREAD_SUPPORT
4 else:DEFINES += QT_THREAD_SUPPORT
5 }
6
7 # #### These need to go
8 debug {
9 contains(DEFINES, QT_DLL) {
10 QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLLDBG
11 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLLDBG
12 } else {
13 QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DBG
14 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DBG
15 }
16 } else {
17 contains(DEFINES, QT_DLL) {
18 QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLL
19 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLL
20 } else {
21 QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT
22 QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT
23 }
24 }
25
26 QMAKE_LIBS += $$QMAKE_LIBS_RTMT
@@ -0,0 +1,2
1 CONFIG -= thread
2 QMAKE_LIBS += $$QMAKE_LIBS_RT
@@ -0,0 +1,15
1 CONFIG -= console
2 contains(TEMPLATE, ".*app"){
3 QMAKE_LFLAGS += $$QMAKE_LFLAGS_WINDOWS $$QMAKE_LFLAGS_EXE
4 win32-g++:DEFINES += QT_NEEDS_QMAIN
5 win32-borland:DEFINES += QT_NEEDS_QMAIN
6
7 qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
8 isEqual(entryLib, -lqtmain): {
9 CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d
10 else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}
11 } else {
12 QMAKE_LIBS += $${entryLib}
13 }
14 }
15 }
@@ -0,0 +1,42
1 #
2 # Yacc extra-compiler for handling files specified in the YACCSOURCES variable
3 #
4
5 {
6 yacc_decl.name = Yacc header
7 yacc_decl.input = YACCSOURCES
8 yacc_decl.variable_out = GENERATED_FILES
9
10
11 isEmpty(QMAKE_YACCFLAGS_MANGLE) {
12 QMAKE_YACCFLAGS_MANGLE = -p ${QMAKE_FILE_BASE}
13 QMAKE_YACC_HEADER = y.tab.h
14 QMAKE_YACC_SOURCE = y.tab.c
15 } else {
16 QMAKE_YACCFLAGS_MANGLE ~= s/\\$base/${QMAKE_FILE_BASE}/g #backwards compat
17 QMAKE_YACC_HEADER ~= s/\\$base/${QMAKE_FILE_BASE}/g
18 QMAKE_YACC_SOURCE ~= s/\\$base/${QMAKE_FILE_BASE}/g
19 }
20 QMAKE_YACCDECLFLAGS = $$QMAKE_YACCFLAGS
21 !yacc_no_name_mangle:QMAKE_YACCDECLFLAGS += $$QMAKE_YACCFLAGS_MANGLE
22
23 yacc_decl.commands = \
24 $$QMAKE_YACC $$QMAKE_YACCDECLFLAGS ${QMAKE_FILE_IN}$$escape_expand(\\n\\t) \
25 $$QMAKE_DEL_FILE $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t) \
26 $$QMAKE_MOVE $${QMAKE_YACC_HEADER} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)}$$escape_expand(\\n\\t) \
27 $$QMAKE_MOVE $${QMAKE_YACC_SOURCE} $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)}$$escape_expand(\\n\\t)
28 yacc_decl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)}
29
30 silent:yacc_decl.commands = @echo Yacc ${QMAKE_FILE_IN} && $$yacc_decl.commands
31 QMAKE_EXTRA_COMPILERS += yacc_decl
32 }
33
34 {
35 yacc_impl.name = source for ${QMAKE_FILE_IN}
36 yacc_impl.input = YACCSOURCES
37 yacc_impl.variable_out = GENERATED_SOURCES
38 yacc_impl.commands = $$escape_expand(\\n) # We don't want any commands where, but if command is empty no rules are created
39 yacc_impl.depends = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_H)} # Make sure we depend on the step above
40 yacc_impl.output = $${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}_yacc$${first(QMAKE_EXT_CPP)} # Faked output from this step, output really created in step above
41 QMAKE_EXTRA_COMPILERS += yacc_impl
42 }
@@ -0,0 +1,3
1 Externally provided Qt modules may drop a qmake file here to become part of
2 the current Qt configuration. The file name must follow the pattern
3 "qt_<module>.pri". It must contain a "QT_CONFIG += <module>" statement.
@@ -0,0 +1,21
1 #configuration
2 CONFIG += def_files_disabled no_mocdepend release stl qt_no_framework
3 QT_ARCH = x86_64
4 QT_EDITION = OpenSource
5 QT_CONFIG += minimal-config small-config medium-config large-config full-config accessibility reduce_exports ipv6 clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify system-jpeg system-mng system-png png system-freetype no-gui system-zlib nis iconv glib openssl x11sm xshape xvideo xsync xrender mitshm fontconfig xkb concurrent release
6
7 #versioning
8 QT_VERSION = 4.8.4
9 QT_MAJOR_VERSION = 4
10 QT_MINOR_VERSION = 8
11 QT_PATCH_VERSION = 4
12
13 #namespaces
14 QT_LIBINFIX =
15 QT_NAMESPACE =
16 QT_NAMESPACE_MAC_CRC =
17
18 QMAKE_RPATHDIR += "/opt/testlibuc2/libuc2/lib"
19 QT_GCC_MAJOR_VERSION = 4
20 QT_GCC_MINOR_VERSION = 7
21 QT_GCC_PATCH_VERSION = 2
1 NO CONTENT: new file 100644
NO CONTENT: new file 100644
@@ -0,0 +1,37
1 /*------------------------------------------------------------------------------
2 -- This file is a part of the libuc, microcontroler library
3 -- Copyright (C) 2012, Alexis Jeandet
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 : Alexis Jeandet
20 -- Mail : alexis.jeandet@gmail.com
21 -------------------------------------------------------------------------------*/
22 #ifndef OPTIMISED_MATH_H
23 #define OPTIMISED_MATH_H
24 #include <arm_math.h>
25
26 inline float32_t optimised_sqrt(float32_t value)
27 {
28 float32_t out;
29 arm_sqrt_f32(value,&out);
30 return out;
31 }
32
33 inline float optimised_sin(float32_t x)
34 {
35 return arm_sin_f32(x);
36 }
37 #endif
@@ -0,0 +1,73
1 #
2 # qmake configuration for stm32f4
3 #
4 #
5
6
7 isEmpty(_stm32f4_conf){
8 _stm32f4_conf="oneshot"
9
10 QMAKE_CFLAGS=-mlittle-endian -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=c99
11
12 include(../common/arm-none-eabi.conf)
13
14 DEFINES += __OPTIMIZED_MATH
15 DEFINES += \"assert_param(expr)=((void)0)\"
16 INCLUDEPATH += $$PWD
17
18 DEFINES += __FPU_PRESENT=1
19 DEFINES += ARM_MATH_CM4
20
21 DEFINES += BSP="\"\\\"$$BSP"\\\"\"
22
23 CONFIG += cpu
24
25 contains( TEMPLATE, app ) {
26 OBJECTS_DIR=obj
27 DESTDIR=bin
28 unix:QMAKE_POST_LINK += arm-none-eabi-objcopy -O ihex "$(TARGET)" $$DESTDIR/"$(QMAKE_TARGET).hex" && arm-none-eabi-objcopy -O binary "$(TARGET)" $$DESTDIR/"$(QMAKE_TARGET).bin"
29 win32:QMAKE_POST_LINK += arm-none-eabi-objcopy -O ihex "$(DESTDIR_TARGET)" $$DESTDIR/"$(QMAKE_TARGET).hex" && arm-none-eabi-objcopy -O binary "$(DESTDIR_TARGET)" $$DESTDIR/"$(QMAKE_TARGET).bin"
30
31 LIBS += -L$$[QT_INSTALL_PREFIX]/bsp/lib/$$BSP
32 LIBS += -lbsp
33
34
35 QMAKE_LFLAGS= -mlittle-endian -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=c99 -T $$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/stm32_flash.ld
36
37 INCLUDEPATH+= $$[QT_INSTALL_PREFIX]/bsp/includes/$$BSP
38
39 SOURCES +=$$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/syscalls.c
40 SOURCES +=$$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/fs.c
41 SOURCES +=$$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/startup.s
42 SOURCES +=$$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/cpuinit.c
43
44 # OTHER_FILES += $$[QT_INSTALL_PREFIX]/ucfiles/stm32f4/$$CPU/stm32_flash.ld
45
46 stflash.target = stflash
47 stflash.commands = cd $$DESTDIR && sudo st-flash write $(QMAKE_TARGET).bin 0x08000000
48 QMAKE_EXTRA_TARGETS += stflash
49 }
50
51 contains( TEMPLATE, lib ) {
52 CONFIG+=staticlib
53 message( "You can only build static library for stm32f4" )
54 }
55
56 include(../common/libuc2libs.conf)
57
58 }
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
@@ -0,0 +1,42
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the qmake spec of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 //#include "../linux-g++/qplatformdefs.h"
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
@@ -1,13 +1,18
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2
3 CONFIG -= qt
3 TARGET=bsp
4 CONFIG += bsp
4 OBJECTS_DIR = obj
5 BSP=BEAGLESYNTH
6 include(bsp.pri)
7 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
8
5
6 BSP = BEAGLESYNTH
7
8 UCMODEL=stm32f4
9
9
10 SOURCES += bsp.c
10 SOURCES += bsp.c
11
11
12 HEADERS += bsp.h
12
13
13 HEADERS += $$libuc2/bsp/includes/$$BSP/bsp.h
14
15 BSPFILE = bsp.pri
16
17
18
@@ -1,3 +1,6
1 CPU=stm32f4xxxG
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"SOLAR_LFR_PSU\\\"
2 DEFINES+=BSP=\\\"BEAGLESYNTH\\\"
3 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
3 beagleCp.target = beagleCp
4 beagleCp.commands = scp $$DESTDIR/$(QMAKE_TARGET).bin root@192.168.7.2://opt/stm32flashAje/hello.bin
5 QMAKE_EXTRA_TARGETS += beagleCp
6 UCMODEL=stm32f4
@@ -1,13 +1,18
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2
3 CONFIG -= qt
3 TARGET=bsp
4 CONFIG += bsp
4 OBJECTS_DIR = obj
5
5 BSP=M4Stick
6 BSP=M4Stick
6 include(bsp.pri)
7 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
8
7
8 UCMODEL=stm32f4
9
9
10 SOURCES += bsp.c
10 SOURCES += bsp.c
11
11
12 HEADERS += bsp.h
12
13
13 HEADERS += $$libuc2/bsp/includes/$$BSP/bsp.h
14
15 BSPFILE = bsp.pri
16
17
18
@@ -1,3 +1,3
1 CPU=stm32f4xxxG
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"M4Stick\\\"
2 DEFINES+=BSP=\\\"M4Stick\\\"
3 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
3 UCMODEL=stm32f4
@@ -1,11 +1,22
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2
3 CONFIG -= qt
3 TARGET=bsp
4 CONFIG += bsp
4 OBJECTS_DIR = obj
5
5
6 BSP=M4StickV2
6 BSP=M4StickV2
7 include(bsp.pri)
7
8 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
8
9 UCMODEL=stm32f4
10
11 SOURCES += bsp.c
12
13 HEADERS += bsp.h
14
15
16 BSPFILE = bsp.pri
17
18
19
9
20
10 INCLUDEPATH += $${PWD}
21 INCLUDEPATH += $${PWD}
11
22
@@ -4,4 +4,4 DEFINES+=BSP=\\\"M4StickV2\\\"
4 USB += cdc
4 USB += cdc
5 DEFINES+= USE_USB_OTG_FS
5 DEFINES+= USE_USB_OTG_FS
6 DEFINES+=stm32f4
6 DEFINES+=stm32f4
7 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
7 UCMODEL=stm32f4
@@ -1,13 +1,18
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2
3 CONFIG -= qt
3 TARGET=bsp
4 CONFIG += bsp
4 OBJECTS_DIR = obj
5
5 BSP=SOLAR_LFR_PSU
6 BSP=SOLAR_LFR_PSU
6 include(bsp.pri)
7 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
8
7
8 UCMODEL=stm32f4
9
9
10 SOURCES += bsp.c
10 SOURCES += bsp.c
11
11
12 HEADERS += bsp.h
12
13
13 HEADERS += $$libuc2/bsp/includes/$$BSP/bsp.h
14
15 BSPFILE = bsp.pri
16
17
18
@@ -1,3 +1,3
1 CPU=stm32f4xxxG
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"SOLAR_LFR_PSU\\\"
2 DEFINES+=BSP=\\\"SOLAR_LFR_PSU\\\"
3 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
3 UCMODEL=stm32f4
@@ -1,13 +1,18
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2
3 CONFIG -= qt
3 TARGET=bsp
4 CONFIG += bsp
4 OBJECTS_DIR = obj
5
5 BSP=STM32F4Discovery
6 BSP=STM32F4Discovery
6 include(bsp.pri)
7 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
8
7
8 UCMODEL=stm32f4
9
9
10 SOURCES += bsp.c
10 SOURCES += bsp.c
11
11
12 HEADERS += bsp.h
12
13
13 HEADERS += $$libuc2/bsp/includes/$$BSP/bsp.h
14
15 BSPFILE = bsp.pri
16
17
18
@@ -1,3 +1,3
1 CPU=stm32f4xxxG
1 CPU=stm32f4xxxG
2 DEFINES+=BSP=\\\"STM32F4Discovery\\\"
2 DEFINES+=BSP=\\\"SOLAR_LFR_PSU\\\"
3 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
3 UCMODEL=stm32f4
@@ -3,8 +3,9 CONFIG += ordered
3 SUBDIRS += STM32F4Discovery \
3 SUBDIRS += STM32F4Discovery \
4 M4Stick \
4 M4Stick \
5 M4StickV2 \
5 M4StickV2 \
6 SOLAR_LFR_PSU \
6 SOLAR_LFR_PSU \
7 BEAGLESYNTH
7 BEAGLESYNTH \
8 STM32F4Eval
8
9
9
10
10
11
@@ -12,4 +13,3 SUBDIRS += STM32F4Discovery \
12
13
13
14
14
15
15
@@ -1,11 +1,11
1 TEMPLATE = app
1 TEMPLATE = app
2 CONFIG += console
2 CONFIG += cpu
3 CONFIG -= qt
3
4
5 UCMODEL=stm32f4
4
6
5 BSP = BEAGLESYNTH
7 BSP = BEAGLESYNTH
6 #BSP = SOLAR_LFR_PSU
8 #BSP = SOLAR_LFR_PSU
7 include($$(libuc2)/bsp/cfg/$$BSP/bsp.pri)
8 #include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
9
9
10 SOURCES += \
10 SOURCES += \
11 main.c
11 main.c
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
@@ -2,11 +2,11 TEMPLATE = app
2 CONFIG += console
2 CONFIG += console
3 CONFIG -= qt
3 CONFIG -= qt
4
4
5 #BSP = BEAGLESYNTH
5 BSP = BEAGLESYNTH
6 #BSP = SOLAR_LFR_PSU
6 #BSP = SOLAR_LFR_PSU
7 #BSP=M4Stick
7 #BSP=M4Stick
8 BSP=M4StickV2
8 #BSP=M4StickV2
9 include($$(libuc2)/bsp/cfg/$$BSP/bsp.pri)
9 #include($$(libuc2)/bsp/cfg/$$BSP/bsp.pri)
10 #include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
10 #include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
11
11
12 SOURCES += \
12 SOURCES += \
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
1 NO CONTENT: modified file chmod 100755 => 100644
NO CONTENT: modified file chmod 100755 => 100644
@@ -2,13 +2,15 TEMPLATE = subdirs
2 CONFIG += ordered
2 CONFIG += ordered
3 SUBDIRS += QtTest/test.pro \
3 SUBDIRS += QtTest/test.pro \
4 SOLAR_PSU_HELLO/hello.pro \
4 SOLAR_PSU_HELLO/hello.pro \
5 SDCARD \
5 SDCARD \
6 STM32F4IT \
6 STM32F4IT \
7 BeagleSynthHello \
7 M4StickV2 \
8 M4StickV2
8 lcdHello \
9 # BeagleSynthHello \
9
10
10
11
11
12
12
13
13
14
14
15
16
@@ -1,13 +1,14
1 TEMPLATE = lib
1 TEMPLATE = lib
2 OBJECTS_DIR = obj
2
3
3 lpc17XX.ARCH = stm32f4-arm-none-eabi-gcc
4 SOURCES += 24LC0X.c
4 lpc17XX.TARGET = lib24lc0X
5 lpc17XX.TARGETINSTALLPATH = $(LIBUC_LIBS_DIR_24LC0X)
6 lpc17XX.HEADERSINSTALLPATH = $(LIBUC_INC_DIR_24LC0X)
7
5
8 lpc17XX.LIBS += CORE IIC UHANDLE
6 INCLUDEPATH += ../../includes \
9
7 ../CPU/STM32F4xx_StdPeriph_Driver/inc \
10 lpc17XX.SOURCES += 24LC0X.c
8 ../CPU/CMSIS/Include
11
9
12
10
13 lpc17XX.HEADERS += 24LC0X.h
11 UCMODEL=stm32f4
12
13 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
14 INSTALLS += target
@@ -1,11 +1,17
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = CS43L22
3 TARGET = CS43L22
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
4
5 SOURCES += CS43L22.c
6
6
7 SOURCES += \
7 INCLUDEPATH += ../../../includes \
8 CS43L22.c
8 ../../CPU/STM32F4xx_StdPeriph_Driver/inc \
9 ../../CPU/CMSIS/Include
10
9
11
10 HEADERS += \
12 UCMODEL=stm32f4
11 $$(libuc2)/lib/includes/CS43L22.h
13
14 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
15 INSTALLS += target
16
17
@@ -1,12 +1,16
1 TEMPLATE = lib
1 TEMPLATE = lib
2 ARCH = stm32f4-arm-none-eabi-gcc
2 OBJECTS_DIR = obj
3 TARGET = libvs10XX
3 TARGET = vs10XX
4 TARGETINSTALLPATH = $(LIBUC_LIBS_DIR_VS10XX)
5 HEADERSINSTALLPATH = $(LIBUC_INC_DIR_VS10XX)
6
7 LIBS += CORE SSP UHANDLE
8
4
9 SOURCES += vs1053.c
5 SOURCES += vs1053.c
10
6
7 INCLUDEPATH += ../../includes \
8 ../CPU/STM32F4xx_StdPeriph_Driver/inc \
9 ../CPU/CMSIS/Include
11
10
12 HEADERS += vs1053.h
11
12 UCMODEL=stm32f4
13
14 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
15 INSTALLS += target
16
@@ -1,11 +1,17
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = ucdirent
3 TARGET = ucdirent
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
6
4
7 SOURCES += \
5 SOURCES += \
8 ucdirent.c
6 ucdirent.c
9
7
10 HEADERS += \
8 INCLUDEPATH += ../../includes \
11 $$(libuc2)/lib/includes/ucdirent.h
9 ../CPU/STM32F4xx_StdPeriph_Driver/inc \
10 ../CPU/CMSIS/Include
11
12
13 UCMODEL=stm32f4
14
15 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
16 INSTALLS += target
17
@@ -1,11 +1,17
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = fat32
3 TARGET = fat32
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
6
4
7 SOURCES += \
5 SOURCES += \
8 fat32.c
6 fat32.c
9
7
10 HEADERS += \
8 INCLUDEPATH += ../../../includes \
11 $$(libuc2)/lib/includes/fat32.h
9 ../../CPU/STM32F4xx_StdPeriph_Driver/inc \
10 ../../CPU/CMSIS/Include
11
12
13 UCMODEL=stm32f4
14
15 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
16 INSTALLS += target
17
@@ -1,11 +1,17
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = mbr
3 TARGET = mbr
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
6
4
7 SOURCES += \
5 SOURCES += \
8 mbr.c
6 mbr.c
9
7
10 HEADERS += \
8 INCLUDEPATH += ../../../includes \
11 $$(libuc2)/lib/includes/mbr.h
9 ../../CPU/STM32F4xx_StdPeriph_Driver/inc \
10 ../../CPU/CMSIS/Include
11
12
13 UCMODEL=stm32f4
14
15 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
16 INSTALLS += target
17
@@ -1,11 +1,17
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = sdcard
3 TARGET = sdcard
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
6
4
7 SOURCES += \
5 SOURCES += \
8 sdcard.c
6 sdcard.c
9
7
10 HEADERS += \
8 INCLUDEPATH += ../../../includes \
11 $$(libuc2)/lib/includes/sdcard.h
9 ../../CPU/STM32F4xx_StdPeriph_Driver/inc \
10 ../../CPU/CMSIS/Include
11
12
13 UCMODEL=stm32f4
14
15 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
16 INSTALLS += target
17
@@ -34,15 +34,73
34 #define ilipaintLine(LCD,X,Y,W,buffer,buffsize) \
34 #define ilipaintLine(LCD,X,Y,W,buffer,buffsize) \
35 for(int l=0;l<1;l++)\
35 for(int l=0;l<1;l++)\
36 {\
36 {\
37 ili9328setFrame(LCD,X,Y,W,1);\
37 ili9328setFrame(LCD,X,Y,W,1);\
38 int rem=(W)%buffsize;\
38 int rem=(W)%buffsize;\
39 if(rem)LCD->interface->writeGRAM(buffer,rem);\
39 if(rem)LCD->interface->writeGRAM(buffer,rem);\
40 for(int i=rem;i<(W);i+=buffsize)\
40 for(int i=rem;i<(W);i+=buffsize)\
41 {\
41 {\
42 LCD->interface->writeGRAM(buffer,buffsize);\
42 LCD->interface->writeGRAM(buffer,buffsize);\
43 }\
43 }\
44 }
44 }
45
45
46 #define ilipaintHLineWithCont(LCD,X,Y,W,ContSz,bufferInt,buffIntsize,bufferCont,buffContsize) \
47 for(int l=0;l<1;l++)\
48 {\
49 ili9328setFrame(LCD,X,Y,W,1);\
50 int rem=(ContSz)%buffContsize;\
51 if(rem)LCD->interface->writeGRAM(bufferCont,rem);\
52 for(int i=rem;i<(ContSz);i+=buffContsize)\
53 {\
54 LCD->interface->writeGRAM(bufferCont,buffContsize);\
55 }\
56 if((2*ContSz)<W) \
57 {\
58 rem=(W-(2*ContSz))%buffIntsize;\
59 if(rem)LCD->interface->writeGRAM(bufferInt,rem);\
60 for(int i=rem;i<(W-(2*ContSz));i+=buffIntsize)\
61 {\
62 LCD->interface->writeGRAM(bufferInt,buffIntsize);\
63 }\
64 }\
65 rem=(ContSz)%buffContsize;\
66 if(rem)LCD->interface->writeGRAM(bufferCont,rem);\
67 for(int i=rem;i<(ContSz);i+=buffContsize)\
68 {\
69 LCD->interface->writeGRAM(bufferCont,buffContsize);\
70 }\
71 }\
72
73
74 #define ilipaintVLineWithCont(LCD,X,Y,H,ContSz,bufferInt,buffIntsize,bufferCont,buffContsize) \
75 for(int l=0;l<1;l++)\
76 {\
77 ili9328setFrame(LCD,X,Y,1,H);\
78 int rem=(ContSz)%buffContsize;\
79 if(rem)LCD->interface->writeGRAM(bufferCont,rem);\
80 for(int i=rem;i<(ContSz);i+=buffContsize)\
81 {\
82 LCD->interface->writeGRAM(bufferCont,buffContsize);\
83 }\
84 if((2*ContSz)<H) \
85 {\
86 rem=(H-(2*ContSz))%buffIntsize;\
87 if(rem)LCD->interface->writeGRAM(bufferInt,rem);\
88 for(int i=rem;i<(H-(2*ContSz));i+=buffIntsize)\
89 {\
90 LCD->interface->writeGRAM(bufferInt,buffIntsize);\
91 }\
92 }\
93 rem=(ContSz)%buffContsize;\
94 if(rem)LCD->interface->writeGRAM(bufferCont,rem);\
95 for(int i=rem;i<(ContSz);i+=buffContsize)\
96 {\
97 LCD->interface->writeGRAM(bufferCont,buffContsize);\
98 }\
99 }\
100
101
102
103
46 void ili9328setGRAMaddress(LCD_t* LCD,uint16_t Haddress,uint16_t Vaddress)
104 void ili9328setGRAMaddress(LCD_t* LCD,uint16_t Haddress,uint16_t Vaddress)
47 {
105 {
48 LCD->interface->writereg(ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET,Haddress);
106 LCD->interface->writereg(ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET,Haddress);
@@ -85,26 +143,41 void ili9328paintFilCircMidPoint(LCD_t*
85 {
143 {
86 //Based on the mid point circle algorithm from Wikipedia
144 //Based on the mid point circle algorithm from Wikipedia
87 //http://en.wikipedia.org/wiki/Midpoint_circle_algorithm
145 //http://en.wikipedia.org/wiki/Midpoint_circle_algorithm
88
146 uint16_t tmp1[16];
147 uint16_t tmp2[16];
148 for(int i=0;i<16;i++)tmp1[i]=fillColor;
149 for(int i=0;i<16;i++)tmp2[i]=contColor;
89 if(contSz<r)
150 if(contSz<r)
90 {
151 {
91 int f = 1 - r;
152 int error = -r,error_int = -r+contSz;
92 int ddF_x = 1;
153 int x = r,x_int=r-contSz;
93 int ddF_y = -2 * r;
154 int y = 0,y_int=0;
94 int x = 0;
155 while (x >= y)
95 int y = r;
156 {
96 uint16_t tmp1[16];
157 ilipaintHLineWithCont(LCD,(Xpos-x),(Ypos+y),(2*x),(x-x_int),tmp1,16,tmp2,16);
97 uint16_t tmp2[16];
158 ilipaintHLineWithCont(LCD,(Xpos-x),(Ypos-y),(2*x),(x-x_int),tmp2,16,tmp1,16);
98 for(int i=0;i<16;i++)tmp1[i]=fillColor;
159 ilipaintVLineWithCont(LCD,(Xpos+y),(Ypos-x),(2*y),(x-x_int),tmp1,16,tmp2,16);
99 for(int i=0;i<16;i++)tmp2[i]=contColor;
160 //ilipaintVSymLineWithCont(LCD,(Xpos-y),(Ypos+x),(2*y),(x-x_int),tmp2,16,tmp1,16);
100 ilipaintLine(LCD,Xpos-r,Ypos,2*r,tmp1,16);
161 error += y;
101 ilipaintLine(LCD,Xpos-r,Ypos+1,2*r,tmp1,16);
162 ++y;
102 ilipaintLine(LCD,Xpos-1,Ypos+r,2,tmp1,16);
163 error += y;
103 ilipaintLine(LCD,Xpos,Ypos-r,2,tmp1,16);
164 error_int += y_int;
104 setPixel(x0, y0 + radius);
165 ++y_int;
105 setPixel(x0, y0 - radius);
166 error_int += y_int;
106 setPixel(x0 + radius, y0);
167 if(error >= 0)
107 setPixel(x0 - radius, y0);
168 {
169 error -= x;
170 --x;
171 error -= x;
172 }
173 if(error_int >= 0)
174 {
175 error_int -= x_int;
176 --x_int;
177 error_int -= x_int;
178 }
179 }
180
108
181
109
182
110 }
183 }
@@ -1,11 +1,22
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = ili9328
3 TARGET = ili9328
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
6
4
7 SOURCES += \
5 SOURCES += \
8 ili9328.c
6 ili9328.c
9
7
10 HEADERS += \
8 DEFINES -= __OPTIMIZED_MATH
11 $$(libuc2)/lib/includes/GRAPHIC/CONTROLERS/ili9328.h
9
10 INCLUDEPATH += ../../../../includes \
11 ../../../CPU/STM32F4xx_StdPeriph_Driver/inc \
12 ../../../CPU/CMSIS/Include \
13 ../../../../includes/GRAPHIC/CONTROLERS \
14 ../../../../includes/GRAPHIC/GUI/FONTS \
15 ../../../../includes/GRAPHIC/GUI/Widgets
16
17
18 UCMODEL=stm32f4
19
20 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
21 INSTALLS += target
22
@@ -1,14 +1,21
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = fonts
3 TARGET = fonts
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
6
4
7 SOURCES += \
5 SOURCES += \
8 fonts8pts.c
6 fonts8pts.c
9
7
10 HEADERS += \
8
11 $$(libuc2)/lib/includes/GRAPHIC/GUI/FONTS/fonts.h
9 INCLUDEPATH += ../../../../includes \
10 ../../../CPU/STM32F4xx_StdPeriph_Driver/inc \
11 ../../../CPU/CMSIS/Include \
12 ../../../../includes/GRAPHIC/CONTROLERS \
13 ../../../../includes/GRAPHIC/GUI/FONTS \
14 ../../../../includes/GRAPHIC/GUI/Widgets
12
15
13
16
17 UCMODEL=stm32f4
14
18
19 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
20 INSTALLS += target
21
@@ -1,14 +1,22
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = terminal
3 TARGET = terminal
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
6
4
7 SOURCES += \
5 SOURCES += \
8 Terminal.c
6 Terminal.c
9
7
10 HEADERS += \
8
11 $$(libuc2)/lib/includes/GRAPHIC/GUI/Widgets/terminal.h
9 INCLUDEPATH += ../../../../includes \
10 ../../../CPU/STM32F4xx_StdPeriph_Driver/inc \
11 ../../../CPU/CMSIS/Include \
12 ../../../../includes/GRAPHIC/CONTROLERS \
13 ../../../../includes/GRAPHIC/GUI/FONTS \
14 ../../../../includes/GRAPHIC/GUI/Widgets
12
15
13
16
14
17
18 UCMODEL=stm32f4
19
20 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
21 INSTALLS += target
22
@@ -1,11 +1,16
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 TARGET = ina226
3 TARGET = ina226
5 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
4
5 SOURCES += ina226.c
6
6
7 SOURCES += \
7 INCLUDEPATH += ../../../includes \
8 ina226.c
8 ../../CPU/STM32F4xx_StdPeriph_Driver/inc \
9 ../../CPU/CMSIS/Include
10
9
11
10 HEADERS += \
12 UCMODEL=stm32f4
11 $$(libuc2)/lib/includes/ina226.h
13
14 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
15 INSTALLS += target
16
@@ -5,8 +5,11 SUBDIRS += stm32f4
5
5
6 SUBDIRS += common
6 SUBDIRS += common
7
7
8 # common/STREAMDEVICES \
8 headers.files = includes/*.h \
9 # common/STRINGS \
9 includes/GRAPHIC/CONTROLERS/*.h \
10 # stm32f4 \
10 includes/GRAPHIC/GUI/FONTS/*.h \
11 # common
11 includes/GRAPHIC/GUI/Widgets/*.h
12
13 headers.path = $$[QT_INSTALL_HEADERS]
14 INSTALLS += headers
12
15
@@ -44,13 +44,13 void delay_us(uint32_t value)
44 if(value)
44 if(value)
45 {
45 {
46 uint32_t tickperus=currentCpuFreq/(1000*10);
46 uint32_t tickperus=currentCpuFreq/(1000*10);
47 uint32_t SysTickSnap = SysTick->VAL+((value%100)*tickperus);
47 uint32_t tickCounterSnap = SysTick->VAL+((value%100)*tickperus);
48 uint32_t targetVal=tickCounterSnap +(value/100);
48 uint32_t targetVal=tickCounterSnap +(value/100);
49 if(targetVal < tickCounterSnap)
49 if(targetVal < tickCounterSnap)
50 {
50 {
51 while(tickCounter > targetVal);
51 while(tickCounter > targetVal);
52 }
52 }
53 while((tickCounter < targetVal) | (SysTick->VAL<SysTickSnap));
53 while((tickCounter < targetVal) | (SysTick->VAL<tickCounterSnap));
54 }
54 }
55 }
55 }
56
56
@@ -1,10 +1,15
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
5
3
6 SOURCES += \
4 SOURCES += \
7 core.c
5 core.c
8
6
9 HEADERS += \
7 INCLUDEPATH += ../../includes \
10 $$(libuc2)/lib/includes/core.h
8 ../CPU/STM32F4xx_StdPeriph_Driver/inc \
9 ../CPU/CMSIS/Include
10
11
12 UCMODEL=stm32f4
13
14 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
15 INSTALLS += target
@@ -1,3 +1,13
1 CMSISHEADERS.files += \
2 ../../../includes/stm32f4-arm-none-eabi-gcc/arm_common_tables.h \
3 ../../../includes/stm32f4-arm-none-eabi-gcc/arm_math.h \
4 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cm0.h \
5 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cm3.h \
6 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cm4.h \
7 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cm4_simd.h \
8 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cmFunc.h \
9 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cmInstr.h \
10 CMSIS/Include/*.h
1
11
2 SOURCES += \
12 SOURCES += \
3 CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c \
13 CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c \
@@ -242,21 +252,5 SOURCES += \
242 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c
252 CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c
243
253
244
254
245 HEADERS += \
246 ../../../includes/stm32f4-arm-none-eabi-gcc/arm_common_tables.h \
247 ../../../includes/stm32f4-arm-none-eabi-gcc/arm_math.h \
248 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cm0.h \
249 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cm3.h \
250 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cm4.h \
251 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cm4_simd.h \
252 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cmFunc.h \
253 ../../../includes/stm32f4-arm-none-eabi-gcc/core_cmInstr.h \
254 CMSIS/Include/core_cmInstr.h \
255 CMSIS/Include/core_cmFunc.h \
256 CMSIS/Include/core_cm4_simd.h \
257 CMSIS/Include/core_cm4.h \
258 CMSIS/Include/core_cm3.h \
259 CMSIS/Include/core_cm0.h \
260 CMSIS/Include/arm_math.h \
261 CMSIS/Include/arm_common_tables.h
262
255
256
@@ -1,4 +1,5
1 HEADERS += \
1
2 STLIBHEADERS.files += \
2 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h \
3 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h \
3 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h \
4 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h \
4 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h \
5 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h \
@@ -25,7 +26,8 HEADERS += \
25 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h \
26 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h \
26 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h \
27 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h \
27 STM32F4xx_StdPeriph_Driver/inc/misc.h \
28 STM32F4xx_StdPeriph_Driver/inc/misc.h \
28 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx.h
29 STM32F4xx_StdPeriph_Driver/inc/stm32f4xx.h \
30 STM32F4xx_StdPeriph_Driver/inc/system_stm32f4xx.h
29
31
30 SOURCES += \
32 SOURCES += \
31 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_wwdg.c \
33 STM32F4xx_StdPeriph_Driver/src/stm32f4xx_wwdg.c \
@@ -1,11 +1,28
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2
3 CONFIG -= qt
3 OBJECTS_DIR = obj
4 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
4
5 include(CMSIS/CMSIS.pri)
5 include(CMSIS/CMSIS.pri)
6 include(USB/USB.pri)
6 include(USB/USB.pri)
7 include(STM32F4xx_StdPeriph_Driver/STM32F4xx_StdPeriph_Driver.pri)
7 include(STM32F4xx_StdPeriph_Driver/STM32F4xx_StdPeriph_Driver.pri)
8
8
9 UCMODEL=stm32f4
10
11 prifile.files = cpu.pri stm32_flash.ld startup.s cpuinit.c fs.c syscalls.c
12 prifile.path = $$[QT_INSTALL_PREFIX]/mkspecs/features/$$UCMODEL
13
14 INCLUDEPATH += ../../includes \
15 STM32F4xx_StdPeriph_Driver/inc \
16 CMSIS/Include
17
18 SOURCES += cpu.c
19
20 CMSISHEADERS.path = $$[QT_INSTALL_HEADERS]/STM32F4xx_CMSIS
21 STLIBHEADERS.path = $$[QT_INSTALL_HEADERS]/STM32F4xx_StdPeriph_Driver
22
23 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
24 INSTALLS += target CMSISHEADERS STLIBHEADERS prifile
25
9
26
10
27
11
28
@@ -16,5 +33,3 include(STM32F4xx_StdPeriph_Driver/STM32
16
33
17
34
18
35
19
20
@@ -1,12 +1,16
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
5
3
6 SOURCES += gpio.c
4 SOURCES += gpio.c
7
5
8
6 INCLUDEPATH += ../../includes \
9 HEADERS += \
7 ../CPU/STM32F4xx_StdPeriph_Driver/inc \
10 $$(libuc2)/lib/includes/gpio.h
8 ../CPU/CMSIS/Include
11
9
12
10
11 UCMODEL=stm32f4
12
13 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
14 INSTALLS += target
15
16
@@ -1,13 +1,16
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
3
4 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
4 SOURCES += i2c.c
5
5
6 SOURCES += \
6 INCLUDEPATH += ../../includes \
7 i2c.c
7 ../CPU/STM32F4xx_StdPeriph_Driver/inc \
8 ../CPU/CMSIS/Include
8
9
9
10
10 HEADERS += \
11 UCMODEL=stm32f4
11 $$(libuc2)/lib/includes/i2c.h
12
13 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
14 INSTALLS += target
12
15
13
16
@@ -1,13 +1,16
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
4 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
5
6
3
7 SOURCES += spi.c
4 SOURCES += spi.c
8
5
9
6 INCLUDEPATH += ../../includes \
10 HEADERS += \
7 ../CPU/STM32F4xx_StdPeriph_Driver/inc \
11 $$(libuc2)/lib/includes/spi.h
8 ../CPU/CMSIS/Include
12
9
13
10
11 UCMODEL=stm32f4
12
13 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
14 INSTALLS += target
15
16
@@ -1,13 +1,16
1 TEMPLATE = lib
1 TEMPLATE = lib
2 CONFIG += console
2 OBJECTS_DIR = obj
3 CONFIG -= qt
3
4 include($$(libuc2)/rules/stm32f4-arm-none-eabi-gcc/rules.pri)
4 SOURCES += uart.c
5
5
6 SOURCES += \
6 INCLUDEPATH += ../../includes \
7 uart.c
7 ../CPU/STM32F4xx_StdPeriph_Driver/inc \
8 ../CPU/CMSIS/Include
8
9
9
10
10 HEADERS += \
11 UCMODEL=stm32f4
11 $$(libuc2)/lib/includes/uart.h
12
13 target.path = $$[QT_INSTALL_LIBS]/$$UCMODEL
14 INSTALLS += target
12
15
13
16
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (557 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1818 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1038 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (855 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (582 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (633 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (541 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (541 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (511 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (511 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (511 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (510 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1138 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (509 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (509 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now