support avr architecture based on ATMega32
1. IAR project, see TencentOS-tiny\board\ATMega32\IAR, both 4.12 and 7.20 is supplied.
This commit is contained in:
BIN
board/ATMega32/ATmega16_MINI_BOARD_SCH.pdf
Normal file
BIN
board/ATMega32/ATmega16_MINI_BOARD_SCH.pdf
Normal file
Binary file not shown.
7
board/ATMega32/BSP/include/tim.h
Normal file
7
board/ATMega32/BSP/include/tim.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef __TIM_H_
|
||||
#define __TIM_H_
|
||||
|
||||
// void Timer2_Init(uint32_t clock, uint32_t tick_per_second);
|
||||
|
||||
#endif
|
||||
|
13
board/ATMega32/BSP/include/uart.h
Normal file
13
board/ATMega32/BSP/include/uart.h
Normal file
@@ -0,0 +1,13 @@
|
||||
#ifndef __USART_H_
|
||||
#define __USART_H_
|
||||
|
||||
void uart_send_byte(char data);
|
||||
|
||||
void uart_send_string(char *string);
|
||||
|
||||
unsigned char uart_receive(void);
|
||||
|
||||
void uart_init(unsigned int baudrate);
|
||||
|
||||
#endif
|
||||
|
20
board/ATMega32/BSP/src/hal_uart.c
Normal file
20
board/ATMega32/BSP/src/hal_uart.c
Normal file
@@ -0,0 +1,20 @@
|
||||
#if 0
|
||||
|
||||
#include "tos_hal.h"
|
||||
|
||||
int tos_hal_uart_init(hal_uart_t *uart, hal_uart_port_t port)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int tos_hal_uart_write(hal_uart_t *uart, const uint8_t *buf, size_t size, uint32_t timeout)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
for (i = 0; i < size; ++i) {
|
||||
uart_send_byte(buf[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif
|
12
board/ATMega32/BSP/src/tim.c
Normal file
12
board/ATMega32/BSP/src/tim.c
Normal file
@@ -0,0 +1,12 @@
|
||||
#include "iom32.h"
|
||||
#include "tim.h"
|
||||
|
||||
void timer1(void)
|
||||
{
|
||||
TCCR1B = 0X00;
|
||||
TCNT1 = 0;
|
||||
OCR1B = 800;
|
||||
TIMSK |= (1 << OCIE1B) | (1 << TOIE1);
|
||||
TCCR1A = (1 << COM1B1) | (1 << WGM10) | (1 << WGM11);
|
||||
TCCR1B = (0 << WGM13) | (1 << WGM12) | (0 << CS12) | (0 << CS11) | (1 << CS10);
|
||||
}
|
47
board/ATMega32/BSP/src/uart.c
Normal file
47
board/ATMega32/BSP/src/uart.c
Normal file
@@ -0,0 +1,47 @@
|
||||
#include "iom32.h"
|
||||
#include "uart.h"
|
||||
|
||||
#define F_CPU 16777216
|
||||
|
||||
void uart_send_byte(char data)
|
||||
{
|
||||
while (!(UCSRA & (1 << UDRE))) {
|
||||
;
|
||||
}
|
||||
UDR = data;
|
||||
}
|
||||
|
||||
void uart_send_string(char *string)
|
||||
{
|
||||
for(; *string!='\0'; string++) {
|
||||
uart_send_byte(*string);
|
||||
}
|
||||
}
|
||||
|
||||
unsigned char uart_receive(void)
|
||||
{
|
||||
while (!(UCSRA & (1 << RXC))) {
|
||||
;
|
||||
}
|
||||
return UDR;
|
||||
}
|
||||
|
||||
int putchar(int data)
|
||||
{
|
||||
uart_send_byte(data);
|
||||
}
|
||||
|
||||
void uart_init(unsigned int baudrate)
|
||||
{
|
||||
unsigned int tmp;
|
||||
tmp = F_CPU / baudrate / 16 - 1;
|
||||
|
||||
/* Set baud rate */
|
||||
UBRRH = (unsigned char)(tmp >> 8);
|
||||
UBRRL = (unsigned char)tmp;
|
||||
/* Enable receiver and transmitter, enable receive interrupt */
|
||||
UCSRB = (1 << RXCIE) | (1 << RXEN) | (1 << TXEN);
|
||||
/* 8bit, 1 stopbit */
|
||||
UCSRC = (1 << URSEL) | (1 << UCSZ1) | (1<< UCSZ0);
|
||||
}
|
||||
|
1275
board/ATMega32/IAR/hello_world-iar4.12/TencentOS_tiny.ewd
Normal file
1275
board/ATMega32/IAR/hello_world-iar4.12/TencentOS_tiny.ewd
Normal file
File diff suppressed because it is too large
Load Diff
2081
board/ATMega32/IAR/hello_world-iar4.12/TencentOS_tiny.ewp
Normal file
2081
board/ATMega32/IAR/hello_world-iar4.12/TencentOS_tiny.ewp
Normal file
File diff suppressed because it is too large
Load Diff
10
board/ATMega32/IAR/hello_world-iar4.12/TencentOS_tiny.eww
Normal file
10
board/ATMega32/IAR/hello_world-iar4.12/TencentOS_tiny.eww
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<workspace>
|
||||
<project>
|
||||
<path>$WS_DIR$\TencentOS_tiny.ewp</path>
|
||||
</project>
|
||||
<batchBuild/>
|
||||
</workspace>
|
||||
|
||||
|
@@ -0,0 +1,176 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<Project>
|
||||
<Desktop>
|
||||
<Static>
|
||||
<Debug-Log/>
|
||||
<Workspace>
|
||||
<ColumnWidths>
|
||||
|
||||
|
||||
|
||||
|
||||
<Column0>160</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||
</Workspace>
|
||||
<Disassembly>
|
||||
|
||||
|
||||
|
||||
<MixedMode>1</MixedMode><CodeCovEnabled>0</CodeCovEnabled><CodeCovShow>0</CodeCovShow></Disassembly>
|
||||
<Build>
|
||||
<ColumnWidth0>20</ColumnWidth0>
|
||||
<ColumnWidth1>1395</ColumnWidth1>
|
||||
<ColumnWidth2>372</ColumnWidth2>
|
||||
<ColumnWidth3>93</ColumnWidth3>
|
||||
</Build>
|
||||
<Register/>
|
||||
<Watch>
|
||||
<Format>
|
||||
<struct_types/>
|
||||
<watch_formats/>
|
||||
</Format>
|
||||
</Watch>
|
||||
<QuickWatch>
|
||||
<Column0>100</Column0>
|
||||
<Column1>136</Column1>
|
||||
<Column2>120</Column2>
|
||||
<Column3>100</Column3>
|
||||
</QuickWatch>
|
||||
<Memory>
|
||||
|
||||
|
||||
<FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory>
|
||||
<StaticWatch>
|
||||
|
||||
|
||||
|
||||
|
||||
<Column0>138</Column0><Column1>164</Column1><Column2>131</Column2><Column3>100</Column3></StaticWatch>
|
||||
<Breakpoints/></Static>
|
||||
<Windows>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Wnd6>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-3758-6520</Identity>
|
||||
<TabName>Debug Log</TabName>
|
||||
<Factory>Debug-Log</Factory>
|
||||
<Session/>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Identity>TabID-3236-6530</Identity>
|
||||
<TabName>Build</TabName>
|
||||
<Factory>Build</Factory>
|
||||
<Session/>
|
||||
</Tab>
|
||||
<Tab><Identity>TabID-1907-2220</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory><Session/></Tab></Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd6><Wnd7>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-14507-6524</Identity>
|
||||
<TabName>Workspace</TabName>
|
||||
<Factory>Workspace</Factory>
|
||||
<Session>
|
||||
|
||||
<NodeDict><ExpandedNode>TencentOS_tiny</ExpandedNode><ExpandedNode>TencentOS_tiny/ARCH</ExpandedNode><ExpandedNode>TencentOS_tiny/KERNEL</ExpandedNode><ExpandedNode>TencentOS_tiny/TOS-CONFIG</ExpandedNode></NodeDict></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd7><Wnd8>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-25255-6527</Identity>
|
||||
<TabName>Disassembly</TabName>
|
||||
<Factory>Disassembly</Factory>
|
||||
<Session/>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd8><Wnd9>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-15366-20631</Identity>
|
||||
<TabName>Register</TabName>
|
||||
<Factory>Register</Factory>
|
||||
<Session>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<REG1>0</REG1><REG2>0</REG2><Group>0</Group><States>2</States><State0>SP</State0><State1>SREG</State1></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd9><Wnd10>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-24611-31306</Identity>
|
||||
<TabName>Quick Watch</TabName>
|
||||
<Factory>QuickWatch</Factory>
|
||||
<Session>
|
||||
<Expression>k_curr_task</Expression>
|
||||
</Session>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Identity>TabID-28985-25270</Identity>
|
||||
<TabName>Live Watch</TabName>
|
||||
<Factory>StaticWatch</Factory>
|
||||
<Session>
|
||||
<Expressions>
|
||||
|
||||
|
||||
<Expression><Expression>k_curr_task</Expression></Expression><Expression><Expression>k_next_task</Expression></Expression><Expression><Expression>k_rdyq</Expression></Expression></Expressions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<TabId>0</TabId><Column0>138</Column0><Column1>164</Column1><Column2>131</Column2><Column3>100</Column3></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>1</SelectedTab></Wnd10><Wnd11>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-29862-15633</Identity>
|
||||
<TabName>Memory</TabName>
|
||||
<Factory>Memory</Factory>
|
||||
<Session>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ZoneNumber>1</ZoneNumber><SelectionAnchor>744</SelectionAnchor><SelectionEnd>744</SelectionEnd><UnitsPerGroup>1</UnitsPerGroup><EndianMode>0</EndianMode><DataCovEnabled>0</DataCovEnabled><DataCovShown>0</DataCovShown><HScroll>0</HScroll><VScroll>46</VScroll></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd11></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_task.c</Filename><XPos>0</XPos><YPos>327</YPos><SelStart>8770</SelStart><SelEnd>8770</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\board\ATmega32\BSP\src\tim.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>176</SelStart><SelEnd>176</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_sem.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\arch\AVR\common\tos_cpu.c</Filename><XPos>0</XPos><YPos>102</YPos><SelStart>2470</SelStart><SelEnd>2470</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\include\tos_list.h</Filename><XPos>0</XPos><YPos>127</YPos><SelStart>4515</SelStart><SelEnd>4515</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_timer.c</Filename><XPos>0</XPos><YPos>268</YPos><SelStart>7654</SelStart><SelEnd>7654</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\board\ATMega32\TOS-CONFIG\tos_config.h</Filename><XPos>0</XPos><YPos>15</YPos><SelStart>843</SelStart><SelEnd>843</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_sched.c</Filename><XPos>0</XPos><YPos>67</YPos><SelStart>2376</SelStart><SelEnd>2376</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_tick.c</Filename><XPos>0</XPos><YPos>93</YPos><SelStart>3338</SelStart><SelEnd>3338</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\arch\avr\ATMega32\iccavr\port_s.asm</Filename><XPos>0</XPos><YPos>63</YPos><SelStart>1017</SelStart><SelEnd>1017</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\board\ATmega32\USER\main.c</Filename><XPos>0</XPos><YPos>64</YPos><SelStart>1307</SelStart><SelEnd>1307</SelEnd></Tab><ActiveTab>10</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_sys.c</Filename><XPos>0</XPos><YPos>94</YPos><SelStart>2465</SelStart><SelEnd>2465</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-01df9cf0><key>iaridepm1</key></Toolbar-01df9cf0></Sizes></Row0><Row1><Sizes><Toolbar-01e89c00><key>debuggergui1</key></Toolbar-01e89c00></Sizes></Row1></Top><Left><Row0><Sizes><Wnd7><Rect><Top>-2</Top><Left>-2</Left><Bottom>459</Bottom><Right>251</Right><x>-2</x><y>-2</y><xscreen>364</xscreen><yscreen>409</yscreen><sizeHorzCX>189583</sizeHorzCX><sizeHorzCY>447484</sizeHorzCY><sizeVertCX>131771</sizeVertCX><sizeVertCY>504376</sizeVertCY></Rect></Wnd7></Sizes></Row0></Left><Right><Row0><Sizes><Wnd8><Rect><Top>-2</Top><Left>-2</Left><Bottom>459</Bottom><Right>630</Right><x>-2</x><y>-2</y><xscreen>364</xscreen><yscreen>409</yscreen><sizeHorzCX>189583</sizeHorzCX><sizeHorzCY>447484</sizeHorzCY><sizeVertCX>329167</sizeVertCX><sizeVertCY>504376</sizeVertCY></Rect></Wnd8></Sizes></Row0><Row1><Sizes><Wnd9><Rect><Top>-2</Top><Left>628</Left><Bottom>459</Bottom><Right>985</Right><x>628</x><y>-2</y><xscreen>364</xscreen><yscreen>409</yscreen><sizeHorzCX>189583</sizeHorzCX><sizeHorzCY>447484</sizeHorzCY><sizeVertCX>185938</sizeVertCX><sizeVertCY>504376</sizeVertCY></Rect></Wnd9></Sizes></Row1><Row2><Sizes><Wnd10><Rect><Top>-2</Top><Left>983</Left><Bottom>459</Bottom><Right>1220</Right><x>983</x><y>-2</y><xscreen>364</xscreen><yscreen>409</yscreen><sizeHorzCX>189583</sizeHorzCX><sizeHorzCY>447484</sizeHorzCY><sizeVertCX>123438</sizeVertCX><sizeVertCY>504376</sizeVertCY></Rect></Wnd10></Sizes></Row2></Right><Bottom><Row0><Sizes><Wnd6><Rect><Top>-2</Top><Left>-2</Left><Bottom>241</Bottom><Right>1922</Right><x>-2</x><y>-2</y><xscreen>1924</xscreen><yscreen>243</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>265864</sizeHorzCY><sizeVertCX>189583</sizeVertCX><sizeVertCY>447484</sizeVertCY></Rect></Wnd6></Sizes></Row0><Row1><Sizes><Wnd11><Rect><Top>239</Top><Left>-2</Left><Bottom>386</Bottom><Right>1922</Right><x>-2</x><y>239</y><xscreen>1924</xscreen><yscreen>147</yscreen><sizeHorzCX>1002083</sizeHorzCX><sizeHorzCY>160832</sizeHorzCY><sizeVertCX>189583</sizeVertCX><sizeVertCY>447484</sizeVertCY></Rect></Wnd11></Sizes></Row1></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Project>
|
||||
|
||||
|
@@ -0,0 +1,18 @@
|
||||
[DisAssemblyWindow]
|
||||
NumStates=_ 1
|
||||
State 1=_ 1
|
||||
[TraceHelper]
|
||||
Enabled=0
|
||||
ShowSource=1
|
||||
[Log file]
|
||||
LoggingEnabled=_ 0
|
||||
LogFile=_ ""
|
||||
Category=_ 0
|
||||
[TermIOLog]
|
||||
LoggingEnabled=_ 0
|
||||
LogFile=_ ""
|
||||
[Breakpoints]
|
||||
Bp0=_ "Code" "{D:\TOS\TencentOS-tiny\kernel\core\tos_sys.c}.107.5@1" 0 0 0 0 "" 0 ""
|
||||
Bp1=_ "Code" "{D:\TOS\TencentOS-tiny\kernel\core\tos_sys.c}.101.19@1" 0 0 0 0 "" 0 ""
|
||||
Bp2=_ "Code" "{D:\TOS\TencentOS-tiny\kernel\core\tos_tick.c}.112.9@1" 0 0 0 0 "" 0 ""
|
||||
Count=3
|
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<Workspace>
|
||||
<ConfigDictionary>
|
||||
|
||||
<CurrentConfigs><Project>TencentOS_tiny/Debug</Project></CurrentConfigs></ConfigDictionary>
|
||||
<Desktop>
|
||||
<Static>
|
||||
<Workspace>
|
||||
<ColumnWidths>
|
||||
|
||||
|
||||
|
||||
|
||||
<Column0>130</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
|
||||
</Workspace>
|
||||
<Build>
|
||||
|
||||
|
||||
|
||||
|
||||
<ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1395</ColumnWidth1><ColumnWidth2>372</ColumnWidth2><ColumnWidth3>93</ColumnWidth3></Build>
|
||||
<TerminalIO/>
|
||||
<CodeCoveragePlugin/>
|
||||
<Profiling/>
|
||||
<Debug-Log/>
|
||||
</Static>
|
||||
<Windows>
|
||||
|
||||
|
||||
<Wnd0>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-24042-2046</Identity>
|
||||
<TabName>Workspace</TabName>
|
||||
<Factory>Workspace</Factory>
|
||||
<Session>
|
||||
|
||||
<NodeDict><ExpandedNode>TencentOS_tiny</ExpandedNode></NodeDict></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-5514-2598</Identity>
|
||||
<TabName>Build</TabName>
|
||||
<Factory>Build</Factory>
|
||||
<Session/>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Identity>TabID-14450-14285</Identity>
|
||||
<TabName>Debug Log</TabName>
|
||||
<Factory>Debug-Log</Factory>
|
||||
<Session/>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd1></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_task.c</Filename><XPos>0</XPos><YPos>327</YPos><SelStart>8770</SelStart><SelEnd>8770</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\board\ATmega32\BSP\src\tim.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>176</SelStart><SelEnd>176</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_sem.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\arch\AVR\common\tos_cpu.c</Filename><XPos>0</XPos><YPos>102</YPos><SelStart>2470</SelStart><SelEnd>2470</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\include\tos_list.h</Filename><XPos>0</XPos><YPos>127</YPos><SelStart>4515</SelStart><SelEnd>4515</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_timer.c</Filename><XPos>0</XPos><YPos>268</YPos><SelStart>7654</SelStart><SelEnd>7654</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\board\ATMega32\TOS-CONFIG\tos_config.h</Filename><XPos>0</XPos><YPos>15</YPos><SelStart>843</SelStart><SelEnd>843</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_sched.c</Filename><XPos>0</XPos><YPos>67</YPos><SelStart>2376</SelStart><SelEnd>2376</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_tick.c</Filename><XPos>0</XPos><YPos>93</YPos><SelStart>3338</SelStart><SelEnd>3338</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\arch\avr\ATMega32\iccavr\port_s.asm</Filename><XPos>0</XPos><YPos>63</YPos><SelStart>1017</SelStart><SelEnd>1017</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\board\ATmega32\USER\main.c</Filename><XPos>0</XPos><YPos>64</YPos><SelStart>1654</SelStart><SelEnd>1654</SelEnd></Tab><ActiveTab>10</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>D:\TOS\TencentOS-tiny\kernel\core\tos_sys.c</Filename><XPos>0</XPos><YPos>94</YPos><SelStart>2465</SelStart><SelEnd>2465</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-01df9cf0><key>iaridepm1</key></Toolbar-01df9cf0></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>434</Bottom><Right>204</Right><x>-2</x><y>-2</y><xscreen>111</xscreen><yscreen>99</yscreen><sizeHorzCX>77949</sizeHorzCX><sizeHorzCY>154930</sizeHorzCY><sizeVertCX>144663</sizeVertCX><sizeVertCY>682316</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>160</Bottom><Right>1426</Right><x>-2</x><y>-2</y><xscreen>1428</xscreen><yscreen>162</yscreen><sizeHorzCX>1002809</sizeHorzCX><sizeHorzCY>253521</sizeHorzCY><sizeVertCX>77949</sizeVertCX><sizeVertCY>154930</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Workspace>
|
||||
|
||||
|
2058
board/ATMega32/IAR/hello_world-iar7.20/TencentOS_tiny.ewd
Normal file
2058
board/ATMega32/IAR/hello_world-iar7.20/TencentOS_tiny.ewd
Normal file
File diff suppressed because it is too large
Load Diff
2259
board/ATMega32/IAR/hello_world-iar7.20/TencentOS_tiny.ewp
Normal file
2259
board/ATMega32/IAR/hello_world-iar7.20/TencentOS_tiny.ewp
Normal file
File diff suppressed because it is too large
Load Diff
2312
board/ATMega32/IAR/hello_world-iar7.20/TencentOS_tiny.ewt
Normal file
2312
board/ATMega32/IAR/hello_world-iar7.20/TencentOS_tiny.ewt
Normal file
File diff suppressed because it is too large
Load Diff
10
board/ATMega32/IAR/hello_world-iar7.20/TencentOS_tiny.eww
Normal file
10
board/ATMega32/IAR/hello_world-iar7.20/TencentOS_tiny.eww
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<workspace>
|
||||
<project>
|
||||
<path>$WS_DIR$\TencentOS_tiny.ewp</path>
|
||||
</project>
|
||||
<batchBuild/>
|
||||
</workspace>
|
||||
|
||||
|
@@ -0,0 +1,40 @@
|
||||
@REM This batch file has been generated by the IAR Embedded Workbench
|
||||
@REM C-SPY Debugger, as an aid to preparing a command line for running
|
||||
@REM the cspybat command line utility using the appropriate settings.
|
||||
@REM
|
||||
@REM Note that this file is generated every time a new debug session
|
||||
@REM is initialized, so you may want to move or rename the file before
|
||||
@REM making changes.
|
||||
@REM
|
||||
@REM You can launch cspybat by typing the name of this batch file followed
|
||||
@REM by the name of the debug file (usually an ELF/DWARF or UBROF file).
|
||||
@REM
|
||||
@REM Read about available command line parameters in the C-SPY Debugging
|
||||
@REM Guide. Hints about additional command line parameters that may be
|
||||
@REM useful in specific cases:
|
||||
@REM --download_only Downloads a code image without starting a debug
|
||||
@REM session afterwards.
|
||||
@REM --silent Omits the sign-on message.
|
||||
@REM --timeout Limits the maximum allowed execution time.
|
||||
@REM
|
||||
|
||||
|
||||
@echo off
|
||||
|
||||
if not "%~1" == "" goto debugFile
|
||||
|
||||
@echo on
|
||||
|
||||
"D:\Program Files\IAR Systems\Embedded Workbench 8.0 AVR\common\bin\cspybat" -f "D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\settings\TencentOS_tiny.Debug.general.xcl" --backend -f "D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\settings\TencentOS_tiny.Debug.driver.xcl"
|
||||
|
||||
@echo off
|
||||
goto end
|
||||
|
||||
:debugFile
|
||||
|
||||
@echo on
|
||||
|
||||
"D:\Program Files\IAR Systems\Embedded Workbench 8.0 AVR\common\bin\cspybat" -f "D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\settings\TencentOS_tiny.Debug.general.xcl" "--debug_file=%~1" --backend -f "D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\settings\TencentOS_tiny.Debug.driver.xcl"
|
||||
|
||||
@echo off
|
||||
:end
|
@@ -0,0 +1,31 @@
|
||||
param([String]$debugfile = "");
|
||||
|
||||
# This powershell file has been generated by the IAR Embedded Workbench
|
||||
# C - SPY Debugger, as an aid to preparing a command line for running
|
||||
# the cspybat command line utility using the appropriate settings.
|
||||
#
|
||||
# Note that this file is generated every time a new debug session
|
||||
# is initialized, so you may want to move or rename the file before
|
||||
# making changes.
|
||||
#
|
||||
# You can launch cspybat by typing Powershell.exe -File followed by the name of this batch file, followed
|
||||
# by the name of the debug file (usually an ELF / DWARF or UBROF file).
|
||||
#
|
||||
# Read about available command line parameters in the C - SPY Debugging
|
||||
# Guide. Hints about additional command line parameters that may be
|
||||
# useful in specific cases :
|
||||
# --download_only Downloads a code image without starting a debug
|
||||
# session afterwards.
|
||||
# --silent Omits the sign - on message.
|
||||
# --timeout Limits the maximum allowed execution time.
|
||||
#
|
||||
|
||||
|
||||
if ($debugfile -eq "")
|
||||
{
|
||||
& "D:\Program Files\IAR Systems\Embedded Workbench 8.0 AVR\common\bin\cspybat" -f "D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\settings\TencentOS_tiny.Debug.general.xcl" --backend -f "D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\settings\TencentOS_tiny.Debug.driver.xcl"
|
||||
}
|
||||
else
|
||||
{
|
||||
& "D:\Program Files\IAR Systems\Embedded Workbench 8.0 AVR\common\bin\cspybat" -f "D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\settings\TencentOS_tiny.Debug.general.xcl" --debug_file=$debugfile --backend -f "D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\settings\TencentOS_tiny.Debug.driver.xcl"
|
||||
}
|
@@ -0,0 +1,15 @@
|
||||
"--cpu=m32"
|
||||
|
||||
"--enhanced_core"
|
||||
|
||||
"-p"
|
||||
|
||||
"D:\Program Files\IAR Systems\Embedded Workbench 8.0 AVR\avr\Config\iom32.ddf"
|
||||
|
||||
"--eeprom_size"
|
||||
|
||||
"1024"
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,11 @@
|
||||
"D:\Program Files\IAR Systems\Embedded Workbench 8.0 AVR\avr\bin\avrproc.dll"
|
||||
|
||||
"D:\Program Files\IAR Systems\Embedded Workbench 8.0 AVR\avr\bin\avrsim.dll"
|
||||
|
||||
"D:\TOS\TencentOS-tiny\board\ATMega32\IAR\hello_world-iar7.20\Debug\Exe\TencentOS_tiny.d90"
|
||||
|
||||
--plugin "D:\Program Files\IAR Systems\Embedded Workbench 8.0 AVR\avr/bin/avrlibsupportbat.dll"
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,229 @@
|
||||
<?xml version="1.0"?>
|
||||
<Project>
|
||||
<Desktop>
|
||||
<Static>
|
||||
<Debug-Log />
|
||||
<Workspace>
|
||||
<ColumnWidths>
|
||||
<Column0>194</Column0>
|
||||
<Column1>27</Column1>
|
||||
<Column2>27</Column2>
|
||||
<Column3>27</Column3>
|
||||
</ColumnWidths>
|
||||
</Workspace>
|
||||
<Disassembly>
|
||||
<MixedMode>1</MixedMode>
|
||||
<CodeCovEnabled>0</CodeCovEnabled>
|
||||
<CodeCovShow>0</CodeCovShow>
|
||||
</Disassembly>
|
||||
<Build>
|
||||
<ColumnWidth0>20</ColumnWidth0>
|
||||
<ColumnWidth1>1395</ColumnWidth1>
|
||||
<ColumnWidth2>372</ColumnWidth2>
|
||||
<ColumnWidth3>93</ColumnWidth3>
|
||||
</Build>
|
||||
</Static>
|
||||
<Windows>
|
||||
<Wnd0>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-10315-10600</Identity>
|
||||
<TabName>Debug Log</TabName>
|
||||
<Factory>Debug-Log</Factory>
|
||||
<Session />
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Identity>TabID-9792-10609</Identity>
|
||||
<TabName>Build</TabName>
|
||||
<Factory>Build</Factory>
|
||||
<Session />
|
||||
</Tab>
|
||||
</Tabs>
|
||||
<SelectedTab>0</SelectedTab>
|
||||
</Wnd0>
|
||||
<Wnd1>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-21063-10603</Identity>
|
||||
<TabName>Workspace</TabName>
|
||||
<Factory>Workspace</Factory>
|
||||
<Session>
|
||||
<NodeDict>
|
||||
<ExpandedNode>TencentOS_tiny</ExpandedNode>
|
||||
</NodeDict>
|
||||
</Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
<SelectedTab>0</SelectedTab>
|
||||
</Wnd1>
|
||||
<Wnd2>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-31812-10606</Identity>
|
||||
<TabName>Disassembly</TabName>
|
||||
<Factory>Disassembly</Factory>
|
||||
<Session />
|
||||
</Tab>
|
||||
</Tabs>
|
||||
<SelectedTab>0</SelectedTab>
|
||||
</Wnd2>
|
||||
</Windows>
|
||||
<Editor>
|
||||
<Pane>
|
||||
<Tab>
|
||||
<Factory>TextEditor</Factory>
|
||||
<Filename>D:\Program Files\IAR Systems\Embedded Workbench 4.0 AVR\avr\INC\iom32.h</Filename>
|
||||
<XPos>0</XPos>
|
||||
<YPos>0</YPos>
|
||||
<SelStart>537</SelStart>
|
||||
<SelEnd>537</SelEnd>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Factory>TextEditor</Factory>
|
||||
<Filename>D:\TOS\TencentOS-tiny\board\ATmega32\USER\main.c</Filename>
|
||||
<XPos>0</XPos>
|
||||
<YPos>39</YPos>
|
||||
<SelStart>879</SelStart>
|
||||
<SelEnd>879</SelEnd>
|
||||
</Tab>
|
||||
<ActiveTab>1</ActiveTab>
|
||||
<Tab>
|
||||
<Factory>TextEditor</Factory>
|
||||
<Filename>D:\TOS\TencentOS-tiny\board\ATmega32\BSP\src\tim.c</Filename>
|
||||
<XPos>0</XPos>
|
||||
<YPos>0</YPos>
|
||||
<SelStart>0</SelStart>
|
||||
<SelEnd>0</SelEnd>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Factory>TextEditor</Factory>
|
||||
<Filename>D:\TOS\TencentOS-tiny\board\ATmega32\BSP\src\hal_uart.c</Filename>
|
||||
<XPos>0</XPos>
|
||||
<YPos>0</YPos>
|
||||
<SelStart>289</SelStart>
|
||||
<SelEnd>289</SelEnd>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Factory>TextEditor</Factory>
|
||||
<Filename>D:\TOS\TencentOS-tiny\board\ATmega32\BSP\include\uart.h</Filename>
|
||||
<XPos>0</XPos>
|
||||
<YPos>0</YPos>
|
||||
<SelStart>54</SelStart>
|
||||
<SelEnd>58</SelEnd>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Factory>TextEditor</Factory>
|
||||
<Filename>D:\TOS\TencentOS-tiny\board\ATmega32\BSP\src\uart.c</Filename>
|
||||
<XPos>0</XPos>
|
||||
<YPos>0</YPos>
|
||||
<SelStart>282</SelStart>
|
||||
<SelEnd>282</SelEnd>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<Factory>TextEditor</Factory>
|
||||
<Filename>D:\TOS\TencentOS-tiny\board\ATmega32\BSP\include\tim.h</Filename>
|
||||
<XPos>0</XPos>
|
||||
<YPos>0</YPos>
|
||||
<SelStart>38</SelStart>
|
||||
<SelEnd>38</SelEnd>
|
||||
</Tab>
|
||||
</Pane>
|
||||
<ActivePane>0</ActivePane>
|
||||
<Sizes>
|
||||
<Pane>
|
||||
<X>1000000</X>
|
||||
<Y>1000000</Y>
|
||||
</Pane>
|
||||
</Sizes>
|
||||
<SplitMode>1</SplitMode>
|
||||
</Editor>
|
||||
<Positions>
|
||||
<Top>
|
||||
<Row0>
|
||||
<Sizes>
|
||||
<Toolbar-01df9cf0>
|
||||
<key>iaridepm1</key>
|
||||
</Toolbar-01df9cf0>
|
||||
</Sizes>
|
||||
</Row0>
|
||||
<Row1>
|
||||
<Sizes>
|
||||
<Toolbar-066c4ea0>
|
||||
<key>debuggergui1</key>
|
||||
</Toolbar-066c4ea0>
|
||||
</Sizes>
|
||||
</Row1>
|
||||
</Top>
|
||||
<Left>
|
||||
<Row0>
|
||||
<Sizes>
|
||||
<Wnd1>
|
||||
<Rect>
|
||||
<Top>-2</Top>
|
||||
<Left>-2</Left>
|
||||
<Bottom>561</Bottom>
|
||||
<Right>268</Right>
|
||||
<x>-2</x>
|
||||
<y>-2</y>
|
||||
<xscreen>270</xscreen>
|
||||
<yscreen>286</yscreen>
|
||||
<sizeHorzCX>140625</sizeHorzCX>
|
||||
<sizeHorzCY>312910</sizeHorzCY>
|
||||
<sizeVertCX>140625</sizeVertCX>
|
||||
<sizeVertCY>615974</sizeVertCY>
|
||||
</Rect>
|
||||
</Wnd1>
|
||||
</Sizes>
|
||||
</Row0>
|
||||
</Left>
|
||||
<Right>
|
||||
<Row0>
|
||||
<Sizes>
|
||||
<Wnd2>
|
||||
<Rect>
|
||||
<Top>-2</Top>
|
||||
<Left>-2</Left>
|
||||
<Bottom>561</Bottom>
|
||||
<Right>268</Right>
|
||||
<x>-2</x>
|
||||
<y>-2</y>
|
||||
<xscreen>270</xscreen>
|
||||
<yscreen>286</yscreen>
|
||||
<sizeHorzCX>140625</sizeHorzCX>
|
||||
<sizeHorzCY>312910</sizeHorzCY>
|
||||
<sizeVertCX>140625</sizeVertCX>
|
||||
<sizeVertCY>615974</sizeVertCY>
|
||||
</Rect>
|
||||
</Wnd2>
|
||||
</Sizes>
|
||||
</Row0>
|
||||
</Right>
|
||||
<Bottom>
|
||||
<Row0>
|
||||
<Sizes>
|
||||
<Wnd0>
|
||||
<Rect>
|
||||
<Top>-2</Top>
|
||||
<Left>-2</Left>
|
||||
<Bottom>284</Bottom>
|
||||
<Right>1922</Right>
|
||||
<x>-2</x>
|
||||
<y>-2</y>
|
||||
<xscreen>1924</xscreen>
|
||||
<yscreen>286</yscreen>
|
||||
<sizeHorzCX>1002083</sizeHorzCX>
|
||||
<sizeHorzCY>312910</sizeHorzCY>
|
||||
<sizeVertCX>140625</sizeVertCX>
|
||||
<sizeVertCY>312910</sizeVertCY>
|
||||
</Rect>
|
||||
</Wnd0>
|
||||
</Sizes>
|
||||
</Row0>
|
||||
</Bottom>
|
||||
<Float>
|
||||
<Sizes />
|
||||
</Float>
|
||||
</Positions>
|
||||
</Desktop>
|
||||
<WindowStorage />
|
||||
</Project>
|
@@ -0,0 +1,15 @@
|
||||
[TraceHelper]
|
||||
Enabled=0
|
||||
ShowSource=1
|
||||
[DisAssemblyWindow]
|
||||
NumStates=_ 1
|
||||
State 1=_ 1
|
||||
[Log file]
|
||||
LoggingEnabled=_ 0
|
||||
LogFile=_ ""
|
||||
Category=_ 0
|
||||
[TermIOLog]
|
||||
LoggingEnabled=_ 0
|
||||
LogFile=_ ""
|
||||
[Breakpoints]
|
||||
Count=0
|
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0"?>
|
||||
<settings>
|
||||
<TraceHelper>
|
||||
<Enabled>0</Enabled>
|
||||
<ShowSource>1</ShowSource>
|
||||
</TraceHelper>
|
||||
<DisAssemblyWindow>
|
||||
<NumStates>_ 1</NumStates>
|
||||
<State_1>_ 1</State_1>
|
||||
</DisAssemblyWindow>
|
||||
<Log_file>
|
||||
<LoggingEnabled>_ 0</LoggingEnabled>
|
||||
<LogFile>_ ""</LogFile>
|
||||
<Category>_ 0</Category>
|
||||
</Log_file>
|
||||
<TermIOLog>
|
||||
<LoggingEnabled>_ 0</LoggingEnabled>
|
||||
<LogFile>_ ""</LogFile>
|
||||
</TermIOLog>
|
||||
<Breakpoints>
|
||||
<Count>0</Count>
|
||||
</Breakpoints>
|
||||
<Stack>
|
||||
<FillEnabled>0</FillEnabled>
|
||||
<OverflowWarningsEnabled>1</OverflowWarningsEnabled>
|
||||
<WarningThreshold>90</WarningThreshold>
|
||||
<SpWarningsEnabled>1</SpWarningsEnabled>
|
||||
<WarnLogOnly>1</WarnLogOnly>
|
||||
<UseTrigger>1</UseTrigger>
|
||||
<TriggerName>main</TriggerName>
|
||||
<LimitSize>0</LimitSize>
|
||||
<ByteLimit>50</ByteLimit>
|
||||
</Stack>
|
||||
<DataLog>
|
||||
<LogEnabled>0</LogEnabled>
|
||||
<GraphEnabled>0</GraphEnabled>
|
||||
<ShowTimeLog>1</ShowTimeLog>
|
||||
<SumEnabled>0</SumEnabled>
|
||||
<ShowTimeSum>1</ShowTimeSum>
|
||||
</DataLog>
|
||||
<Breakpoints2>
|
||||
<Count>0</Count>
|
||||
</Breakpoints2>
|
||||
<Trace1>
|
||||
<Enabled>0</Enabled>
|
||||
<ShowSource>1</ShowSource>
|
||||
</Trace1>
|
||||
<Aliases>
|
||||
<Count>0</Count>
|
||||
<SuppressDialog>0</SuppressDialog>
|
||||
</Aliases>
|
||||
</settings>
|
File diff suppressed because one or more lines are too long
17
board/ATMega32/LIB/inc/stdint.h
Normal file
17
board/ATMega32/LIB/inc/stdint.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#ifndef _STDINT_H_
|
||||
#define _STDINT_H_
|
||||
|
||||
typedef unsigned char uint8_t;
|
||||
typedef char int8_t;
|
||||
|
||||
typedef unsigned short uint16_t;
|
||||
typedef signed short int16_t;
|
||||
|
||||
typedef unsigned long uint32_t;
|
||||
typedef signed long int32_t;
|
||||
|
||||
typedef unsigned long long uint64_t;
|
||||
typedef signed long long int64_t;
|
||||
|
||||
#endif
|
||||
|
53
board/ATMega32/TOS-CONFIG/tos_config.h
Normal file
53
board/ATMega32/TOS-CONFIG/tos_config.h
Normal file
@@ -0,0 +1,53 @@
|
||||
#ifndef _TOS_CONFIG_H_
|
||||
#define _TOS_CONFIG_H_
|
||||
|
||||
#define TOS_CFG_TASK_PRIO_MAX 10u
|
||||
|
||||
#define TOS_CFG_ROUND_ROBIN_EN 0u
|
||||
|
||||
#define TOS_CFG_OBJECT_VERIFY_EN 0u
|
||||
|
||||
#define TOS_CFG_TASK_DYNAMIC_CREATE_EN 0u
|
||||
|
||||
#define TOS_CFG_EVENT_EN 1u
|
||||
|
||||
#define TOS_CFG_MMBLK_EN 0u
|
||||
|
||||
#define TOS_CFG_MMHEAP_EN 0u
|
||||
|
||||
#define TOS_CFG_MMHEAP_DEFAULT_POOL_EN 1u
|
||||
|
||||
#define TOS_CFG_MMHEAP_DEFAULT_POOL_SIZE 0x1000
|
||||
|
||||
#define TOS_CFG_MUTEX_EN 1u
|
||||
|
||||
#define TOS_CFG_MESSAGE_QUEUE_EN 1u
|
||||
|
||||
#define TOS_CFG_MAIL_QUEUE_EN 1u
|
||||
|
||||
#define TOS_CFG_PRIORITY_MESSAGE_QUEUE_EN 0u
|
||||
|
||||
#define TOS_CFG_PRIORITY_MAIL_QUEUE_EN 0u
|
||||
|
||||
#define TOS_CFG_TIMER_EN 0u
|
||||
|
||||
#define TOS_CFG_PWR_MGR_EN 0u
|
||||
|
||||
#define TOS_CFG_TICKLESS_EN 0u
|
||||
|
||||
#define TOS_CFG_SEM_EN 1u
|
||||
|
||||
#define TOS_CFG_TASK_STACK_DRAUGHT_DEPTH_DETACT_EN 1u
|
||||
|
||||
#define TOS_CFG_FAULT_BACKTRACE_EN 0u
|
||||
|
||||
#define TOS_CFG_IDLE_TASK_STK_SIZE 128u
|
||||
|
||||
#define TOS_CFG_CPU_TICK_PER_SECOND 1000u
|
||||
|
||||
#define TOS_CFG_CPU_CLOCK (16000000)
|
||||
|
||||
#define TOS_CFG_TIMER_AS_PROC 1u
|
||||
|
||||
#endif
|
||||
|
88
board/ATMega32/USER/main.c
Normal file
88
board/ATMega32/USER/main.c
Normal file
@@ -0,0 +1,88 @@
|
||||
#include "iom32.h"
|
||||
#include "uart.h"
|
||||
#include "tos_k.h"
|
||||
|
||||
#include "stdio.h"
|
||||
|
||||
#pragma vector = TIMER1_OVF_vect
|
||||
__interrupt void TIMER1_OVF(void)
|
||||
{
|
||||
if (tos_knl_is_running()) {
|
||||
tos_knl_irq_enter();
|
||||
tos_tick_handler();
|
||||
tos_knl_irq_leave();
|
||||
}
|
||||
}
|
||||
|
||||
#pragma vector = USART_RXC_vect
|
||||
__interrupt void UART0_rx(void)
|
||||
{
|
||||
unsigned char rx_data;
|
||||
rx_data = UDR;
|
||||
}
|
||||
|
||||
void interrupt_enable(void)
|
||||
{
|
||||
SREG |= (1 << 7);
|
||||
}
|
||||
|
||||
void task1_entry(void *arg)
|
||||
{
|
||||
while (1) {
|
||||
uart_send_string("task1\r\n");
|
||||
tos_task_delay(2000);
|
||||
}
|
||||
}
|
||||
|
||||
void task2_entry(void *arg)
|
||||
{
|
||||
while (1) {
|
||||
uart_send_string("task2\r\n");
|
||||
tos_task_delay(3000);
|
||||
}
|
||||
}
|
||||
|
||||
k_task_t task1;
|
||||
k_stack_t task1_stack[128];
|
||||
|
||||
k_task_t task2;
|
||||
k_stack_t task2_stack[128];
|
||||
|
||||
#define APPLICATION_TASK_STK_SIZE 256
|
||||
|
||||
k_task_t task_app;
|
||||
k_stack_t task_app_stack[128];
|
||||
|
||||
void application_entry(void * arg)
|
||||
{
|
||||
tos_task_create(&task1, "task1", task1_entry, NULL,
|
||||
4,
|
||||
task1_stack, sizeof(task1_stack),
|
||||
0);
|
||||
|
||||
tos_task_create(&task2, "task2", task2_entry, NULL,
|
||||
4,
|
||||
task2_stack, sizeof(task2_stack),
|
||||
0);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
uart_init(9600);
|
||||
timer1();
|
||||
|
||||
uart_send_string("welcome to TencentOS tiny!\r\n");
|
||||
printf("welcome to TencentOS tiny!\r\n");
|
||||
|
||||
tos_knl_init();
|
||||
|
||||
tos_task_create(&task_app, "app", application_entry, NULL,
|
||||
4,
|
||||
task_app_stack, sizeof(task_app_stack),
|
||||
0);
|
||||
|
||||
tos_knl_start();
|
||||
|
||||
while (1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user