• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

TWIペリフェラルを使ってI2Cプロトコルを制御する


Commit MetaInfo

Revisão3bcffe7db35bc52ab8f4746f3280218eb4b5596c (tree)
Hora2012-08-26 23:01:42
Autortakemasa <suikan@user...>
Commitertakemasa

Mensagem de Log

管理ファイル等を更新

Mudança Sumário

Diff

--- /dev/null
+++ b/i2c-test/.settings/de.loskutov.anyedit.AnyEditTools.prefs
@@ -0,0 +1,15 @@
1+activeContentFilterList=*.makefile,makefile,*.Makefile,Makefile,Makefile.*,*.mk,MANIFEST.MF
2+addNewLine=true
3+convertActionOnSaave=AnyEdit.CnvrtTabToSpaces
4+eclipse.preferences.version=1
5+inActiveContentFilterList=
6+javaTabWidthForJava=true
7+org.eclipse.jdt.ui.editor.tab.width=4
8+projectPropsEnabled=false
9+removeTrailingSpaces=true
10+replaceAllSpaces=false
11+replaceAllTabs=true
12+saveAndAddLine=true
13+saveAndConvert=true
14+saveAndTrim=true
15+useModulo4Tabs=true
--- /dev/null
+++ b/i2c-test/.settings/org.eclipse.cdt.core.prefs
@@ -0,0 +1,162 @@
1+eclipse.preferences.version=1
2+org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=16
3+org.eclipse.cdt.core.formatter.alignment_for_assignment=16
4+org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=80
5+org.eclipse.cdt.core.formatter.alignment_for_binary_expression=16
6+org.eclipse.cdt.core.formatter.alignment_for_compact_if=16
7+org.eclipse.cdt.core.formatter.alignment_for_conditional_expression=34
8+org.eclipse.cdt.core.formatter.alignment_for_conditional_expression_chain=18
9+org.eclipse.cdt.core.formatter.alignment_for_constructor_initializer_list=0
10+org.eclipse.cdt.core.formatter.alignment_for_declarator_list=16
11+org.eclipse.cdt.core.formatter.alignment_for_enumerator_list=48
12+org.eclipse.cdt.core.formatter.alignment_for_expression_list=0
13+org.eclipse.cdt.core.formatter.alignment_for_expressions_in_array_initializer=16
14+org.eclipse.cdt.core.formatter.alignment_for_member_access=0
15+org.eclipse.cdt.core.formatter.alignment_for_overloaded_left_shift_chain=16
16+org.eclipse.cdt.core.formatter.alignment_for_parameters_in_method_declaration=16
17+org.eclipse.cdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
18+org.eclipse.cdt.core.formatter.brace_position_for_array_initializer=end_of_line
19+org.eclipse.cdt.core.formatter.brace_position_for_block=end_of_line
20+org.eclipse.cdt.core.formatter.brace_position_for_block_in_case=end_of_line
21+org.eclipse.cdt.core.formatter.brace_position_for_method_declaration=end_of_line
22+org.eclipse.cdt.core.formatter.brace_position_for_namespace_declaration=end_of_line
23+org.eclipse.cdt.core.formatter.brace_position_for_switch=end_of_line
24+org.eclipse.cdt.core.formatter.brace_position_for_type_declaration=end_of_line
25+org.eclipse.cdt.core.formatter.comment.min_distance_between_code_and_line_comment=1
26+org.eclipse.cdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
27+org.eclipse.cdt.core.formatter.compact_else_if=true
28+org.eclipse.cdt.core.formatter.continuation_indentation=2
29+org.eclipse.cdt.core.formatter.continuation_indentation_for_array_initializer=2
30+org.eclipse.cdt.core.formatter.format_guardian_clause_on_one_line=false
31+org.eclipse.cdt.core.formatter.indent_access_specifier_compare_to_type_header=false
32+org.eclipse.cdt.core.formatter.indent_access_specifier_extra_spaces=0
33+org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_access_specifier=true
34+org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_namespace_header=false
35+org.eclipse.cdt.core.formatter.indent_breaks_compare_to_cases=true
36+org.eclipse.cdt.core.formatter.indent_declaration_compare_to_template_header=false
37+org.eclipse.cdt.core.formatter.indent_empty_lines=false
38+org.eclipse.cdt.core.formatter.indent_statements_compare_to_block=true
39+org.eclipse.cdt.core.formatter.indent_statements_compare_to_body=true
40+org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_cases=true
41+org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_switch=false
42+org.eclipse.cdt.core.formatter.indentation.size=4
43+org.eclipse.cdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
44+org.eclipse.cdt.core.formatter.insert_new_line_after_template_declaration=do not insert
45+org.eclipse.cdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
46+org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
47+org.eclipse.cdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
48+org.eclipse.cdt.core.formatter.insert_new_line_before_colon_in_constructor_initializer_list=do not insert
49+org.eclipse.cdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
50+org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert
51+org.eclipse.cdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
52+org.eclipse.cdt.core.formatter.insert_new_line_in_empty_block=insert
53+org.eclipse.cdt.core.formatter.insert_space_after_assignment_operator=insert
54+org.eclipse.cdt.core.formatter.insert_space_after_binary_operator=insert
55+org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_arguments=insert
56+org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_parameters=insert
57+org.eclipse.cdt.core.formatter.insert_space_after_closing_brace_in_block=insert
58+org.eclipse.cdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
59+org.eclipse.cdt.core.formatter.insert_space_after_colon_in_base_clause=insert
60+org.eclipse.cdt.core.formatter.insert_space_after_colon_in_case=insert
61+org.eclipse.cdt.core.formatter.insert_space_after_colon_in_conditional=insert
62+org.eclipse.cdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
63+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
64+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_base_types=insert
65+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_declarator_list=insert
66+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
67+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_expression_list=insert
68+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
69+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
70+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
71+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_arguments=insert
72+org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_parameters=insert
73+org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_arguments=do not insert
74+org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_parameters=do not insert
75+org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
76+org.eclipse.cdt.core.formatter.insert_space_after_opening_bracket=do not insert
77+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
78+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
79+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_exception_specification=do not insert
80+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
81+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
82+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
83+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
84+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
85+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
86+org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
87+org.eclipse.cdt.core.formatter.insert_space_after_postfix_operator=do not insert
88+org.eclipse.cdt.core.formatter.insert_space_after_prefix_operator=do not insert
89+org.eclipse.cdt.core.formatter.insert_space_after_question_in_conditional=insert
90+org.eclipse.cdt.core.formatter.insert_space_after_semicolon_in_for=insert
91+org.eclipse.cdt.core.formatter.insert_space_after_unary_operator=do not insert
92+org.eclipse.cdt.core.formatter.insert_space_before_assignment_operator=insert
93+org.eclipse.cdt.core.formatter.insert_space_before_binary_operator=insert
94+org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_arguments=do not insert
95+org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_parameters=do not insert
96+org.eclipse.cdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
97+org.eclipse.cdt.core.formatter.insert_space_before_closing_bracket=do not insert
98+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
99+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
100+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_exception_specification=do not insert
101+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
102+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
103+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
104+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
105+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
106+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
107+org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
108+org.eclipse.cdt.core.formatter.insert_space_before_colon_in_base_clause=do not insert
109+org.eclipse.cdt.core.formatter.insert_space_before_colon_in_case=do not insert
110+org.eclipse.cdt.core.formatter.insert_space_before_colon_in_conditional=insert
111+org.eclipse.cdt.core.formatter.insert_space_before_colon_in_default=do not insert
112+org.eclipse.cdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
113+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
114+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_base_types=do not insert
115+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_declarator_list=do not insert
116+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
117+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_expression_list=do not insert
118+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
119+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
120+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
121+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_arguments=do not insert
122+org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_parameters=do not insert
123+org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_arguments=do not insert
124+org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_parameters=do not insert
125+org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
126+org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_block=insert
127+org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
128+org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_namespace_declaration=insert
129+org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
130+org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
131+org.eclipse.cdt.core.formatter.insert_space_before_opening_bracket=do not insert
132+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
133+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_exception_specification=insert
134+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_for=insert
135+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_if=insert
136+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
137+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
138+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
139+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
140+org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_while=insert
141+org.eclipse.cdt.core.formatter.insert_space_before_postfix_operator=do not insert
142+org.eclipse.cdt.core.formatter.insert_space_before_prefix_operator=do not insert
143+org.eclipse.cdt.core.formatter.insert_space_before_question_in_conditional=insert
144+org.eclipse.cdt.core.formatter.insert_space_before_semicolon=do not insert
145+org.eclipse.cdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
146+org.eclipse.cdt.core.formatter.insert_space_before_unary_operator=do not insert
147+org.eclipse.cdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
148+org.eclipse.cdt.core.formatter.insert_space_between_empty_brackets=do not insert
149+org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_exception_specification=do not insert
150+org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
151+org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
152+org.eclipse.cdt.core.formatter.join_wrapped_lines=true
153+org.eclipse.cdt.core.formatter.keep_else_statement_on_same_line=false
154+org.eclipse.cdt.core.formatter.keep_empty_array_initializer_on_one_line=false
155+org.eclipse.cdt.core.formatter.keep_imple_if_on_one_line=false
156+org.eclipse.cdt.core.formatter.keep_then_statement_on_same_line=false
157+org.eclipse.cdt.core.formatter.lineSplit=80
158+org.eclipse.cdt.core.formatter.number_of_empty_lines_to_preserve=1
159+org.eclipse.cdt.core.formatter.put_empty_statement_on_new_line=true
160+org.eclipse.cdt.core.formatter.tabulation.char=space
161+org.eclipse.cdt.core.formatter.tabulation.size=4
162+org.eclipse.cdt.core.formatter.use_tabs_only_for_leading_indentations=false
--- /dev/null
+++ b/i2c-test/.settings/org.eclipse.cdt.ui.prefs
@@ -0,0 +1,3 @@
1+eclipse.preferences.version=1
2+formatter_profile=_K&R [built-in] no tab
3+formatter_settings_version=1
--- /dev/null
+++ b/i2c-test/kernel/.project
@@ -0,0 +1,11 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<projectDescription>
3+ <name>jsp</name>
4+ <comment></comment>
5+ <projects>
6+ </projects>
7+ <buildSpec>
8+ </buildSpec>
9+ <natures>
10+ </natures>
11+</projectDescription>
--- /dev/null
+++ b/i2c-test/kernel/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
1+#Sat May 30 17:38:15 JST 2009
2+eclipse.preferences.version=1
3+encoding/<project>=UTF-8
--- /dev/null
+++ b/i2c-test/kernel/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,3 @@
1+#Sat May 30 17:38:15 JST 2009
2+eclipse.preferences.version=1
3+line.separator=\n
--- /dev/null
+++ b/i2c-test/kernel/config/blackfin/acb_bf592/jsp_acb_bf592.dpj
@@ -0,0 +1,617 @@
1+<?xml version="1.0" encoding='ISO-8859-1'?>
2+<visualdsp-project schema="17" name="libkernel" file="jsp_acb_bf592.dpj" version="1">
3+ <!-- Project build target -->
4+ <target>
5+ <processor revision="Automatic">ADSP-BF592-A</processor>
6+ <extension>.dlb</extension>
7+ <type>Library file</type>
8+ </target>
9+ <!-- Configurations -->
10+ <configurations active="Release">
11+ <configuration name="Debug">
12+ <intermediate-dir>.\Debug</intermediate-dir>
13+ <output-dir>.</output-dir>
14+ <changed-property-page-flags>0</changed-property-page-flags>
15+ <tools>
16+ <tool type="Compiler">
17+ <option><![CDATA[|-Version>5.0|-O>0|-O1>0|-Ov>100|-ipa>0|-g>1|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>0|-implicit-pointers>0|-eh >0|-rtti>1|-check-init-order>0|-ignore-std>1|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>0|-misra-testing>0|-misra-suppress-advisory>0|-I>.;..;..\_common_bf592;..\..\..\kernel;..\..\..\include;..\..\..\pdic\simple_sio;..\..\..\utils\blackfin-vdsp|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-full-io>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>1|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
18+ </tool>
19+ <tool type="Assembler">
20+ <option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>1|-save-temps>0|-sp>0|AdditionalOptions>-W1056|-i>.;..;..\_common_bf592;..\..\..\kernel;..\..\..\include;..\..\..\pdic\simple_sio;..\..\..\utils\blackfin-vdsp|-D>LABEL_ASM __ECC__]]></option>
21+ </tool>
22+ <tool type="Linker">
23+ <option><![CDATA[|-Version>5.0|-flags-link -t>1|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>1|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1]]></option>
24+ </tool>
25+ <tool type="Archiver">
26+ <option><![CDATA[]]></option>
27+ </tool>
28+ <tool type="Loader">
29+ <option><![CDATA[|-Version>4.5|-b Flash>1|-f HEX>1|-Width 8>1|-p>0x0|DefaultStart>0|-v>0|-waits >15|-BaudRate 500k>1|-HoldTime >3|-pFlag >0|-zinit>0|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
30+ </tool>
31+ <tool type="VdkGen">
32+ <option><![CDATA[]]></option>
33+ </tool>
34+ </tools>
35+ </configuration>
36+ <configuration name="Release">
37+ <intermediate-dir>.\Release</intermediate-dir>
38+ <output-dir>.</output-dir>
39+ <changed-property-page-flags>0</changed-property-page-flags>
40+ <tools>
41+ <tool type="Compiler">
42+ <option><![CDATA[|-Version>5.0|-O>1|-O1>1|-Ov>100|-ipa>1|-g>1|-no-annotate>0|-Oa>1|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>0|-implicit-pointers>0|-eh >0|-rtti>1|-check-init-order>0|-ignore-std>1|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>1|-misra-testing>1|-misra-suppress-advisory>0|-I>.;..;..\_common_bf592;..\..\..\kernel;..\..\..\include;..\..\..\pdic\simple_sio;..\..\..\utils\blackfin-vdsp|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-full-io>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>1|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
43+ </tool>
44+ <tool type="Assembler">
45+ <option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>0|-save-temps>0|-sp>0|AdditionalOptions>-flags-pp -tokenize-dot|-i>.;..;..\_common_bf592;..\..\..\kernel;..\..\..\include;..\..\..\pdic\simple_sio;..\..\..\utils\blackfin-vdsp|-D>LABEL_ASM __ECC__]]></option>
46+ </tool>
47+ <tool type="Linker">
48+ <option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>0|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-flags-link -e>0|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1]]></option>
49+ </tool>
50+ <tool type="Archiver">
51+ <option><![CDATA[]]></option>
52+ </tool>
53+ <tool type="Loader">
54+ <option><![CDATA[|-Version>4.5|-b Flash>1|-f HEX>1|-Width 8>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-BaudRate 500k>1|-HoldTime >-1|-pFlag >0|-zinit>0|-No2Kernel>1|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>29]]></option>
55+ </tool>
56+ <tool type="VdkGen">
57+ <option><![CDATA[]]></option>
58+ </tool>
59+ </tools>
60+ </configuration>
61+ </configurations>
62+ <!-- Project folders -->
63+ <folders>
64+ <folder name="Header Files" ext=".h,.hpp,.hxx">
65+ </folder>
66+ <folder name="Linker Files" ext=".ldf,.dlb">
67+ </folder>
68+ <folder name="Source Files" ext=".c,.cpp,.cxx,.asm,.dsp,.s">
69+ <folders>
70+ <folder name="_common">
71+ <files>
72+ <file name="..\_common_bf592\chip_config.c">
73+ <file-configurations>
74+ <file-configuration name="Debug">
75+ <excluded-flag value="no"/>
76+ <build-with-flag value="project"/>
77+ <intermediate-dir>.\Debug</intermediate-dir>
78+ <output-dir>.\Debug</output-dir>
79+ </file-configuration>
80+ <file-configuration name="Release">
81+ <excluded-flag value="no"/>
82+ <build-with-flag value="project"/>
83+ <intermediate-dir>.\Release</intermediate-dir>
84+ <output-dir>.\Release</output-dir>
85+ </file-configuration>
86+ </file-configurations>
87+ </file>
88+ <file name="..\_common_bf592\chip_config.h">
89+ </file>
90+ <file name="..\_common_bf592\chip_defs.h">
91+ </file>
92+ <file name="..\_common_bf592\hw_serial.h">
93+ </file>
94+ <file name="..\_common_bf592\hw_timer.h">
95+ </file>
96+ <file name="..\_common_bf592\sys_rename.h">
97+ </file>
98+ <file name="..\_common_bf592\sys_unrename.h">
99+ </file>
100+ </files>
101+ </folder>
102+ <folder name="_cpu">
103+ <files>
104+ <file name="..\api.h">
105+ </file>
106+ <file name="..\cpu_config.c">
107+ <file-configurations>
108+ <file-configuration name="Debug">
109+ <excluded-flag value="no"/>
110+ <build-with-flag value="project"/>
111+ <intermediate-dir>.\Debug</intermediate-dir>
112+ <output-dir>.</output-dir>
113+ </file-configuration>
114+ <file-configuration name="Release">
115+ <excluded-flag value="no"/>
116+ <build-with-flag value="project"/>
117+ <intermediate-dir>.\Release</intermediate-dir>
118+ <output-dir>.</output-dir>
119+ </file-configuration>
120+ </file-configurations>
121+ </file>
122+ <file name="..\cpu_config.h">
123+ </file>
124+ <file name="..\cpu_context.h">
125+ </file>
126+ <file name="..\cpu_defs.c">
127+ <file-configurations>
128+ <file-configuration name="Debug">
129+ <excluded-flag value="no"/>
130+ <build-with-flag value="project"/>
131+ <intermediate-dir>.\Debug</intermediate-dir>
132+ <output-dir>.\Debug</output-dir>
133+ </file-configuration>
134+ <file-configuration name="Release">
135+ <excluded-flag value="no"/>
136+ <build-with-flag value="project"/>
137+ <intermediate-dir>.\Release</intermediate-dir>
138+ <output-dir>.\Release</output-dir>
139+ </file-configuration>
140+ </file-configurations>
141+ </file>
142+ <file name="..\cpu_defs.h">
143+ </file>
144+ <file name="..\cpu_rename.h">
145+ </file>
146+ <file name="..\cpu_support.S">
147+ <file-configurations>
148+ <file-configuration name="Debug">
149+ <excluded-flag value="no"/>
150+ <build-with-flag value="project"/>
151+ <intermediate-dir>.\Debug</intermediate-dir>
152+ <output-dir>.\Debug</output-dir>
153+ </file-configuration>
154+ <file-configuration name="Release">
155+ <excluded-flag value="no"/>
156+ <build-with-flag value="project"/>
157+ <intermediate-dir>.\Release</intermediate-dir>
158+ <output-dir>.\Release</output-dir>
159+ </file-configuration>
160+ </file-configurations>
161+ </file>
162+ <file name="..\cpu_unrename.h">
163+ </file>
164+ <file name="..\saverestore.h">
165+ </file>
166+ <file name="..\start.S">
167+ <file-configurations>
168+ <file-configuration name="Debug">
169+ <excluded-flag value="no"/>
170+ <build-with-flag value="project"/>
171+ <intermediate-dir>.\Debug</intermediate-dir>
172+ <output-dir>.\Debug</output-dir>
173+ </file-configuration>
174+ <file-configuration name="Release">
175+ <excluded-flag value="no"/>
176+ <build-with-flag value="project"/>
177+ <intermediate-dir>.\Release</intermediate-dir>
178+ <output-dir>.\Release</output-dir>
179+ </file-configuration>
180+ </file-configurations>
181+ </file>
182+ <file name="..\tool_config.h">
183+ </file>
184+ <file name="..\tool_defs.h">
185+ </file>
186+ </files>
187+ </folder>
188+ <folder name="_sys">
189+ <files>
190+ <file name=".\sys_config.h">
191+ </file>
192+ <file name=".\sys_defs.h">
193+ </file>
194+ </files>
195+ </folder>
196+ <folder name="kernel">
197+ <files>
198+ <file name="..\..\..\kernel\banner.c">
199+ <file-configurations>
200+ <file-configuration name="Debug">
201+ <excluded-flag value="no"/>
202+ <build-with-flag value="project"/>
203+ <intermediate-dir>.\Debug</intermediate-dir>
204+ <output-dir>.</output-dir>
205+ </file-configuration>
206+ <file-configuration name="Release">
207+ <excluded-flag value="no"/>
208+ <build-with-flag value="project"/>
209+ <intermediate-dir>.\Release</intermediate-dir>
210+ <output-dir>.</output-dir>
211+ </file-configuration>
212+ </file-configurations>
213+ </file>
214+ <file name="..\..\..\kernel\cyclic.c">
215+ <file-configurations>
216+ <file-configuration name="Debug">
217+ <excluded-flag value="no"/>
218+ <build-with-flag value="project"/>
219+ <intermediate-dir>.\Debug</intermediate-dir>
220+ <output-dir>.</output-dir>
221+ </file-configuration>
222+ <file-configuration name="Release">
223+ <excluded-flag value="no"/>
224+ <build-with-flag value="project"/>
225+ <intermediate-dir>.\Release</intermediate-dir>
226+ <output-dir>.</output-dir>
227+ </file-configuration>
228+ </file-configurations>
229+ </file>
230+ <file name="..\..\..\kernel\dataqueue.c">
231+ <file-configurations>
232+ <file-configuration name="Debug">
233+ <excluded-flag value="no"/>
234+ <build-with-flag value="project"/>
235+ <intermediate-dir>.\Debug</intermediate-dir>
236+ <output-dir>.</output-dir>
237+ </file-configuration>
238+ <file-configuration name="Release">
239+ <excluded-flag value="no"/>
240+ <build-with-flag value="project"/>
241+ <intermediate-dir>.\Release</intermediate-dir>
242+ <output-dir>.</output-dir>
243+ </file-configuration>
244+ </file-configurations>
245+ </file>
246+ <file name="..\..\..\kernel\eventflag.c">
247+ <file-configurations>
248+ <file-configuration name="Debug">
249+ <excluded-flag value="no"/>
250+ <build-with-flag value="project"/>
251+ <intermediate-dir>.\Debug</intermediate-dir>
252+ <output-dir>.</output-dir>
253+ </file-configuration>
254+ <file-configuration name="Release">
255+ <excluded-flag value="no"/>
256+ <build-with-flag value="project"/>
257+ <intermediate-dir>.\Release</intermediate-dir>
258+ <output-dir>.</output-dir>
259+ </file-configuration>
260+ </file-configurations>
261+ </file>
262+ <file name="..\..\..\kernel\exception.c">
263+ <file-configurations>
264+ <file-configuration name="Debug">
265+ <excluded-flag value="no"/>
266+ <build-with-flag value="project"/>
267+ <intermediate-dir>.\Debug</intermediate-dir>
268+ <output-dir>.</output-dir>
269+ </file-configuration>
270+ <file-configuration name="Release">
271+ <excluded-flag value="no"/>
272+ <build-with-flag value="project"/>
273+ <intermediate-dir>.\Release</intermediate-dir>
274+ <output-dir>.</output-dir>
275+ </file-configuration>
276+ </file-configurations>
277+ </file>
278+ <file name="..\..\..\kernel\interrupt.c">
279+ <file-configurations>
280+ <file-configuration name="Debug">
281+ <excluded-flag value="no"/>
282+ <build-with-flag value="project"/>
283+ <intermediate-dir>.\Debug</intermediate-dir>
284+ <output-dir>.</output-dir>
285+ </file-configuration>
286+ <file-configuration name="Release">
287+ <excluded-flag value="no"/>
288+ <build-with-flag value="project"/>
289+ <intermediate-dir>.\Release</intermediate-dir>
290+ <output-dir>.</output-dir>
291+ </file-configuration>
292+ </file-configurations>
293+ </file>
294+ <file name="..\..\..\kernel\mailbox.c">
295+ <file-configurations>
296+ <file-configuration name="Debug">
297+ <excluded-flag value="no"/>
298+ <build-with-flag value="project"/>
299+ <intermediate-dir>.\Debug</intermediate-dir>
300+ <output-dir>.</output-dir>
301+ </file-configuration>
302+ <file-configuration name="Release">
303+ <excluded-flag value="no"/>
304+ <build-with-flag value="project"/>
305+ <intermediate-dir>.\Release</intermediate-dir>
306+ <output-dir>.</output-dir>
307+ </file-configuration>
308+ </file-configurations>
309+ </file>
310+ <file name="..\..\..\kernel\mempfix.c">
311+ <file-configurations>
312+ <file-configuration name="Debug">
313+ <excluded-flag value="no"/>
314+ <build-with-flag value="project"/>
315+ <intermediate-dir>.\Debug</intermediate-dir>
316+ <output-dir>.</output-dir>
317+ </file-configuration>
318+ <file-configuration name="Release">
319+ <excluded-flag value="no"/>
320+ <build-with-flag value="project"/>
321+ <intermediate-dir>.\Release</intermediate-dir>
322+ <output-dir>.</output-dir>
323+ </file-configuration>
324+ </file-configurations>
325+ </file>
326+ <file name="..\..\..\kernel\semaphore.c">
327+ <file-configurations>
328+ <file-configuration name="Debug">
329+ <excluded-flag value="no"/>
330+ <build-with-flag value="project"/>
331+ <intermediate-dir>.\Debug</intermediate-dir>
332+ <output-dir>.</output-dir>
333+ </file-configuration>
334+ <file-configuration name="Release">
335+ <excluded-flag value="no"/>
336+ <build-with-flag value="project"/>
337+ <intermediate-dir>.\Release</intermediate-dir>
338+ <output-dir>.</output-dir>
339+ </file-configuration>
340+ </file-configurations>
341+ </file>
342+ <file name="..\..\..\kernel\startup.c">
343+ <file-configurations>
344+ <file-configuration name="Debug">
345+ <excluded-flag value="no"/>
346+ <build-with-flag value="project"/>
347+ <intermediate-dir>.\Debug</intermediate-dir>
348+ <output-dir>.</output-dir>
349+ </file-configuration>
350+ <file-configuration name="Release">
351+ <excluded-flag value="no"/>
352+ <build-with-flag value="project"/>
353+ <intermediate-dir>.\Release</intermediate-dir>
354+ <output-dir>.</output-dir>
355+ </file-configuration>
356+ </file-configurations>
357+ </file>
358+ <file name="..\..\..\kernel\sys_manage.c">
359+ <file-configurations>
360+ <file-configuration name="Debug">
361+ <excluded-flag value="no"/>
362+ <build-with-flag value="project"/>
363+ <intermediate-dir>.\Debug</intermediate-dir>
364+ <output-dir>.</output-dir>
365+ </file-configuration>
366+ <file-configuration name="Release">
367+ <excluded-flag value="no"/>
368+ <build-with-flag value="project"/>
369+ <intermediate-dir>.\Release</intermediate-dir>
370+ <output-dir>.</output-dir>
371+ </file-configuration>
372+ </file-configurations>
373+ </file>
374+ <file name="..\..\..\kernel\task.c">
375+ <file-configurations>
376+ <file-configuration name="Debug">
377+ <excluded-flag value="no"/>
378+ <build-with-flag value="project"/>
379+ <intermediate-dir>.\Debug</intermediate-dir>
380+ <output-dir>.</output-dir>
381+ </file-configuration>
382+ <file-configuration name="Release">
383+ <excluded-flag value="no"/>
384+ <build-with-flag value="project"/>
385+ <intermediate-dir>.\Release</intermediate-dir>
386+ <output-dir>.</output-dir>
387+ </file-configuration>
388+ </file-configurations>
389+ </file>
390+ <file name="..\..\..\kernel\task_except.c">
391+ <file-configurations>
392+ <file-configuration name="Debug">
393+ <excluded-flag value="no"/>
394+ <build-with-flag value="project"/>
395+ <intermediate-dir>.\Debug</intermediate-dir>
396+ <output-dir>.</output-dir>
397+ </file-configuration>
398+ <file-configuration name="Release">
399+ <excluded-flag value="no"/>
400+ <build-with-flag value="project"/>
401+ <intermediate-dir>.\Release</intermediate-dir>
402+ <output-dir>.</output-dir>
403+ </file-configuration>
404+ </file-configurations>
405+ </file>
406+ <file name="..\..\..\kernel\task_manage.c">
407+ <file-configurations>
408+ <file-configuration name="Debug">
409+ <excluded-flag value="no"/>
410+ <build-with-flag value="project"/>
411+ <intermediate-dir>.\Debug</intermediate-dir>
412+ <output-dir>.</output-dir>
413+ </file-configuration>
414+ <file-configuration name="Release">
415+ <excluded-flag value="no"/>
416+ <build-with-flag value="project"/>
417+ <intermediate-dir>.\Release</intermediate-dir>
418+ <output-dir>.</output-dir>
419+ </file-configuration>
420+ </file-configurations>
421+ </file>
422+ <file name="..\..\..\kernel\task_sync.c">
423+ <file-configurations>
424+ <file-configuration name="Debug">
425+ <excluded-flag value="no"/>
426+ <build-with-flag value="project"/>
427+ <intermediate-dir>.\Debug</intermediate-dir>
428+ <output-dir>.</output-dir>
429+ </file-configuration>
430+ <file-configuration name="Release">
431+ <excluded-flag value="no"/>
432+ <build-with-flag value="project"/>
433+ <intermediate-dir>.\Release</intermediate-dir>
434+ <output-dir>.</output-dir>
435+ </file-configuration>
436+ </file-configurations>
437+ </file>
438+ <file name="..\..\..\kernel\time_event.c">
439+ <file-configurations>
440+ <file-configuration name="Debug">
441+ <excluded-flag value="no"/>
442+ <build-with-flag value="project"/>
443+ <intermediate-dir>.\Debug</intermediate-dir>
444+ <output-dir>.</output-dir>
445+ </file-configuration>
446+ <file-configuration name="Release">
447+ <excluded-flag value="no"/>
448+ <build-with-flag value="project"/>
449+ <intermediate-dir>.\Release</intermediate-dir>
450+ <output-dir>.</output-dir>
451+ </file-configuration>
452+ </file-configurations>
453+ </file>
454+ <file name="..\..\..\kernel\time_manage.c">
455+ <file-configurations>
456+ <file-configuration name="Debug">
457+ <excluded-flag value="no"/>
458+ <build-with-flag value="project"/>
459+ <intermediate-dir>.\Debug</intermediate-dir>
460+ <output-dir>.</output-dir>
461+ </file-configuration>
462+ <file-configuration name="Release">
463+ <excluded-flag value="no"/>
464+ <build-with-flag value="project"/>
465+ <intermediate-dir>.\Release</intermediate-dir>
466+ <output-dir>.</output-dir>
467+ </file-configuration>
468+ </file-configurations>
469+ </file>
470+ <file name="..\..\..\kernel\wait.c">
471+ <file-configurations>
472+ <file-configuration name="Debug">
473+ <excluded-flag value="no"/>
474+ <build-with-flag value="project"/>
475+ <intermediate-dir>.\Debug</intermediate-dir>
476+ <output-dir>.</output-dir>
477+ </file-configuration>
478+ <file-configuration name="Release">
479+ <excluded-flag value="no"/>
480+ <build-with-flag value="project"/>
481+ <intermediate-dir>.\Release</intermediate-dir>
482+ <output-dir>.</output-dir>
483+ </file-configuration>
484+ </file-configurations>
485+ </file>
486+ </files>
487+ </folder>
488+ <folder name="library">
489+ <files>
490+ <file name="..\..\..\library\log_output.c">
491+ <file-configurations>
492+ <file-configuration name="Debug">
493+ <excluded-flag value="no"/>
494+ <build-with-flag value="project"/>
495+ <intermediate-dir>.\Debug</intermediate-dir>
496+ <output-dir>.</output-dir>
497+ </file-configuration>
498+ <file-configuration name="Release">
499+ <excluded-flag value="no"/>
500+ <build-with-flag value="project"/>
501+ <intermediate-dir>.\Release</intermediate-dir>
502+ <output-dir>.</output-dir>
503+ </file-configuration>
504+ </file-configurations>
505+ </file>
506+ <file name="..\..\..\library\strerror.c">
507+ <file-configurations>
508+ <file-configuration name="Debug">
509+ <excluded-flag value="no"/>
510+ <build-with-flag value="project"/>
511+ <intermediate-dir>.\Debug</intermediate-dir>
512+ <output-dir>.</output-dir>
513+ </file-configuration>
514+ <file-configuration name="Release">
515+ <excluded-flag value="no"/>
516+ <build-with-flag value="project"/>
517+ <intermediate-dir>.\Release</intermediate-dir>
518+ <output-dir>.</output-dir>
519+ </file-configuration>
520+ </file-configurations>
521+ </file>
522+ <file name="..\..\..\kernel\syslog.c">
523+ <file-configurations>
524+ <file-configuration name="Debug">
525+ <excluded-flag value="no"/>
526+ <build-with-flag value="project"/>
527+ <intermediate-dir>.\Debug</intermediate-dir>
528+ <output-dir>.</output-dir>
529+ </file-configuration>
530+ <file-configuration name="Release">
531+ <excluded-flag value="no"/>
532+ <build-with-flag value="project"/>
533+ <intermediate-dir>.\Release</intermediate-dir>
534+ <output-dir>.</output-dir>
535+ </file-configuration>
536+ </file-configurations>
537+ </file>
538+ <file name="..\..\..\library\t_perror.c">
539+ <file-configurations>
540+ <file-configuration name="Debug">
541+ <excluded-flag value="no"/>
542+ <build-with-flag value="project"/>
543+ <intermediate-dir>.\Debug</intermediate-dir>
544+ <output-dir>.</output-dir>
545+ </file-configuration>
546+ <file-configuration name="Release">
547+ <excluded-flag value="no"/>
548+ <build-with-flag value="project"/>
549+ <intermediate-dir>.\Release</intermediate-dir>
550+ <output-dir>.</output-dir>
551+ </file-configuration>
552+ </file-configurations>
553+ </file>
554+ <file name="..\..\..\library\vasyslog.c">
555+ <file-configurations>
556+ <file-configuration name="Debug">
557+ <excluded-flag value="no"/>
558+ <build-with-flag value="project"/>
559+ <intermediate-dir>.\Debug</intermediate-dir>
560+ <output-dir>.</output-dir>
561+ </file-configuration>
562+ <file-configuration name="Release">
563+ <excluded-flag value="no"/>
564+ <build-with-flag value="project"/>
565+ <intermediate-dir>.\Release</intermediate-dir>
566+ <output-dir>.</output-dir>
567+ </file-configuration>
568+ </file-configurations>
569+ </file>
570+ </files>
571+ </folder>
572+ <folder name="pidc">
573+ <files>
574+ <file name="..\..\..\pdic\simple_sio\uart.c">
575+ <file-configurations>
576+ <file-configuration name="Debug">
577+ <excluded-flag value="no"/>
578+ <build-with-flag value="project"/>
579+ <intermediate-dir>.\Debug</intermediate-dir>
580+ <output-dir>.\Debug</output-dir>
581+ </file-configuration>
582+ <file-configuration name="Release">
583+ <excluded-flag value="no"/>
584+ <build-with-flag value="project"/>
585+ <intermediate-dir>.\Release</intermediate-dir>
586+ <output-dir>.\Release</output-dir>
587+ </file-configuration>
588+ </file-configurations>
589+ </file>
590+ </files>
591+ </folder>
592+ <folder name="systask">
593+ <files>
594+ <file name="..\..\..\systask\timer.c">
595+ <file-configurations>
596+ <file-configuration name="Debug">
597+ <excluded-flag value="no"/>
598+ <build-with-flag value="project"/>
599+ <intermediate-dir>.\Debug</intermediate-dir>
600+ <output-dir>.</output-dir>
601+ </file-configuration>
602+ <file-configuration name="Release">
603+ <excluded-flag value="no"/>
604+ <build-with-flag value="project"/>
605+ <intermediate-dir>.\Release</intermediate-dir>
606+ <output-dir>.</output-dir>
607+ </file-configuration>
608+ </file-configurations>
609+ </file>
610+ </files>
611+ </folder>
612+ <folder name="usr">
613+ </folder>
614+ </folders>
615+ </folder>
616+ </folders>
617+</visualdsp-project>
--- /dev/null
+++ b/i2c-test/kernel/config/blackfin/ezkit_bf518/jsp_ezkit_bf518.dpj
@@ -0,0 +1,617 @@
1+<?xml version="1.0" encoding='ISO-8859-1'?>
2+<visualdsp-project schema="17" name="libkernel" file="jsp_ezkit_bf518.dpj" version="1">
3+ <!-- Project build target -->
4+ <target>
5+ <processor revision="Automatic">ADSP-BF518</processor>
6+ <extension>.dlb</extension>
7+ <type>Library file</type>
8+ </target>
9+ <!-- Configurations -->
10+ <configurations active="Release">
11+ <configuration name="Debug">
12+ <intermediate-dir>.\Debug</intermediate-dir>
13+ <output-dir>.</output-dir>
14+ <changed-property-page-flags>0</changed-property-page-flags>
15+ <tools>
16+ <tool type="Compiler">
17+ <option><![CDATA[|-Version>5.0|-O>0|-O1>0|-Ov>100|-ipa>0|-g>1|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>0|-implicit-pointers>0|-eh >0|-rtti>1|-check-init-order>0|-ignore-std>1|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>0|-misra-testing>0|-misra-suppress-advisory>0|-I>.;..;..\_common_bf518;..\..\..\kernel;..\..\..\include;..\..\..\pdic\simple_sio;..\..\..\utils\blackfin-vdsp|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-full-io>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>1|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
18+ </tool>
19+ <tool type="Assembler">
20+ <option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>1|-save-temps>0|-sp>0|AdditionalOptions>-W1056|-i>.;..;..\_common_bf518;..\..\..\kernel;..\..\..\include;..\..\..\pdic\simple_sio;..\..\..\utils\blackfin-vdsp|-D>LABEL_ASM __ECC__]]></option>
21+ </tool>
22+ <tool type="Linker">
23+ <option><![CDATA[|-Version>5.0|-flags-link -t>1|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>1|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1]]></option>
24+ </tool>
25+ <tool type="Archiver">
26+ <option><![CDATA[]]></option>
27+ </tool>
28+ <tool type="Loader">
29+ <option><![CDATA[|-Version>4.5|-b Flash>1|-f HEX>1|-Width 8>1|-p>0x0|DefaultStart>0|-v>0|-waits >15|-BaudRate 500k>1|-HoldTime >3|-pFlag >0|-zinit>0|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
30+ </tool>
31+ <tool type="VdkGen">
32+ <option><![CDATA[]]></option>
33+ </tool>
34+ </tools>
35+ </configuration>
36+ <configuration name="Release">
37+ <intermediate-dir>.\Release</intermediate-dir>
38+ <output-dir>.</output-dir>
39+ <changed-property-page-flags>0</changed-property-page-flags>
40+ <tools>
41+ <tool type="Compiler">
42+ <option><![CDATA[|-Version>5.0|-O>1|-O1>1|-Ov>100|-ipa>1|-g>1|-no-annotate>0|-Oa>1|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>0|-implicit-pointers>0|-eh >0|-rtti>1|-check-init-order>0|-ignore-std>1|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>1|-misra-testing>1|-misra-suppress-advisory>0|-I>.;..;..\_common_bf518;..\..\..\kernel;..\..\..\include;..\..\..\pdic\simple_sio;..\..\..\utils\blackfin-vdsp|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-stack-detect>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>1|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
43+ </tool>
44+ <tool type="Assembler">
45+ <option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>0|-save-temps>0|-sp>0|AdditionalOptions>-flags-pp -tokenize-dot|-i>.;..;..\_common_bf518;..\..\..\kernel;..\..\..\include;..\..\..\pdic\simple_sio;..\..\..\utils\blackfin-vdsp|-D>LABEL_ASM __ECC__]]></option>
46+ </tool>
47+ <tool type="Linker">
48+ <option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>0|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-flags-link -e>0|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1]]></option>
49+ </tool>
50+ <tool type="Archiver">
51+ <option><![CDATA[]]></option>
52+ </tool>
53+ <tool type="Loader">
54+ <option><![CDATA[|-Version>4.5|-b Flash>1|-f HEX>1|-Width 8>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-BaudRate 500k>1|-HoldTime >-1|-pFlag >0|-zinit>0|-No2Kernel>1|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>29]]></option>
55+ </tool>
56+ <tool type="VdkGen">
57+ <option><![CDATA[]]></option>
58+ </tool>
59+ </tools>
60+ </configuration>
61+ </configurations>
62+ <!-- Project folders -->
63+ <folders>
64+ <folder name="Header Files" ext=".h,.hpp,.hxx">
65+ </folder>
66+ <folder name="Linker Files" ext=".ldf,.dlb">
67+ </folder>
68+ <folder name="Source Files" ext=".c,.cpp,.cxx,.asm,.dsp,.s">
69+ <folders>
70+ <folder name="_common">
71+ <files>
72+ <file name="..\_common_bf518\chip_config.c">
73+ <file-configurations>
74+ <file-configuration name="Debug">
75+ <excluded-flag value="no"/>
76+ <build-with-flag value="project"/>
77+ <intermediate-dir>.\Debug</intermediate-dir>
78+ <output-dir>.\Debug</output-dir>
79+ </file-configuration>
80+ <file-configuration name="Release">
81+ <excluded-flag value="no"/>
82+ <build-with-flag value="project"/>
83+ <intermediate-dir>.\Release</intermediate-dir>
84+ <output-dir>.\Release</output-dir>
85+ </file-configuration>
86+ </file-configurations>
87+ </file>
88+ <file name="..\_common_bf518\chip_config.h">
89+ </file>
90+ <file name="..\_common_bf518\chip_defs.h">
91+ </file>
92+ <file name="..\_common_bf518\hw_serial.h">
93+ </file>
94+ <file name="..\_common_bf518\hw_timer.h">
95+ </file>
96+ <file name="..\_common_bf518\sys_rename.h">
97+ </file>
98+ <file name="..\_common_bf518\sys_unrename.h">
99+ </file>
100+ </files>
101+ </folder>
102+ <folder name="_cpu">
103+ <files>
104+ <file name="..\api.h">
105+ </file>
106+ <file name="..\cpu_config.c">
107+ <file-configurations>
108+ <file-configuration name="Debug">
109+ <excluded-flag value="no"/>
110+ <build-with-flag value="project"/>
111+ <intermediate-dir>.\Debug</intermediate-dir>
112+ <output-dir>.</output-dir>
113+ </file-configuration>
114+ <file-configuration name="Release">
115+ <excluded-flag value="no"/>
116+ <build-with-flag value="project"/>
117+ <intermediate-dir>.\Release</intermediate-dir>
118+ <output-dir>.</output-dir>
119+ </file-configuration>
120+ </file-configurations>
121+ </file>
122+ <file name="..\cpu_config.h">
123+ </file>
124+ <file name="..\cpu_context.h">
125+ </file>
126+ <file name="..\cpu_defs.c">
127+ <file-configurations>
128+ <file-configuration name="Debug">
129+ <excluded-flag value="no"/>
130+ <build-with-flag value="project"/>
131+ <intermediate-dir>.\Debug</intermediate-dir>
132+ <output-dir>.\Debug</output-dir>
133+ </file-configuration>
134+ <file-configuration name="Release">
135+ <excluded-flag value="no"/>
136+ <build-with-flag value="project"/>
137+ <intermediate-dir>.\Release</intermediate-dir>
138+ <output-dir>.\Release</output-dir>
139+ </file-configuration>
140+ </file-configurations>
141+ </file>
142+ <file name="..\cpu_defs.h">
143+ </file>
144+ <file name="..\cpu_rename.h">
145+ </file>
146+ <file name="..\cpu_support.S">
147+ <file-configurations>
148+ <file-configuration name="Debug">
149+ <excluded-flag value="no"/>
150+ <build-with-flag value="project"/>
151+ <intermediate-dir>.\Debug</intermediate-dir>
152+ <output-dir>.\Debug</output-dir>
153+ </file-configuration>
154+ <file-configuration name="Release">
155+ <excluded-flag value="no"/>
156+ <build-with-flag value="project"/>
157+ <intermediate-dir>.\Release</intermediate-dir>
158+ <output-dir>.\Release</output-dir>
159+ </file-configuration>
160+ </file-configurations>
161+ </file>
162+ <file name="..\cpu_unrename.h">
163+ </file>
164+ <file name="..\saverestore.h">
165+ </file>
166+ <file name="..\start.S">
167+ <file-configurations>
168+ <file-configuration name="Debug">
169+ <excluded-flag value="no"/>
170+ <build-with-flag value="project"/>
171+ <intermediate-dir>.\Debug</intermediate-dir>
172+ <output-dir>.\Debug</output-dir>
173+ </file-configuration>
174+ <file-configuration name="Release">
175+ <excluded-flag value="no"/>
176+ <build-with-flag value="project"/>
177+ <intermediate-dir>.\Release</intermediate-dir>
178+ <output-dir>.\Release</output-dir>
179+ </file-configuration>
180+ </file-configurations>
181+ </file>
182+ <file name="..\tool_config.h">
183+ </file>
184+ <file name="..\tool_defs.h">
185+ </file>
186+ </files>
187+ </folder>
188+ <folder name="_sys">
189+ <files>
190+ <file name=".\sys_config.h">
191+ </file>
192+ <file name=".\sys_defs.h">
193+ </file>
194+ </files>
195+ </folder>
196+ <folder name="kernel">
197+ <files>
198+ <file name="..\..\..\kernel\banner.c">
199+ <file-configurations>
200+ <file-configuration name="Debug">
201+ <excluded-flag value="no"/>
202+ <build-with-flag value="project"/>
203+ <intermediate-dir>.\Debug</intermediate-dir>
204+ <output-dir>.</output-dir>
205+ </file-configuration>
206+ <file-configuration name="Release">
207+ <excluded-flag value="no"/>
208+ <build-with-flag value="project"/>
209+ <intermediate-dir>.\Release</intermediate-dir>
210+ <output-dir>.</output-dir>
211+ </file-configuration>
212+ </file-configurations>
213+ </file>
214+ <file name="..\..\..\kernel\cyclic.c">
215+ <file-configurations>
216+ <file-configuration name="Debug">
217+ <excluded-flag value="no"/>
218+ <build-with-flag value="project"/>
219+ <intermediate-dir>.\Debug</intermediate-dir>
220+ <output-dir>.</output-dir>
221+ </file-configuration>
222+ <file-configuration name="Release">
223+ <excluded-flag value="no"/>
224+ <build-with-flag value="project"/>
225+ <intermediate-dir>.\Release</intermediate-dir>
226+ <output-dir>.</output-dir>
227+ </file-configuration>
228+ </file-configurations>
229+ </file>
230+ <file name="..\..\..\kernel\dataqueue.c">
231+ <file-configurations>
232+ <file-configuration name="Debug">
233+ <excluded-flag value="no"/>
234+ <build-with-flag value="project"/>
235+ <intermediate-dir>.\Debug</intermediate-dir>
236+ <output-dir>.</output-dir>
237+ </file-configuration>
238+ <file-configuration name="Release">
239+ <excluded-flag value="no"/>
240+ <build-with-flag value="project"/>
241+ <intermediate-dir>.\Release</intermediate-dir>
242+ <output-dir>.</output-dir>
243+ </file-configuration>
244+ </file-configurations>
245+ </file>
246+ <file name="..\..\..\kernel\eventflag.c">
247+ <file-configurations>
248+ <file-configuration name="Debug">
249+ <excluded-flag value="no"/>
250+ <build-with-flag value="project"/>
251+ <intermediate-dir>.\Debug</intermediate-dir>
252+ <output-dir>.</output-dir>
253+ </file-configuration>
254+ <file-configuration name="Release">
255+ <excluded-flag value="no"/>
256+ <build-with-flag value="project"/>
257+ <intermediate-dir>.\Release</intermediate-dir>
258+ <output-dir>.</output-dir>
259+ </file-configuration>
260+ </file-configurations>
261+ </file>
262+ <file name="..\..\..\kernel\exception.c">
263+ <file-configurations>
264+ <file-configuration name="Debug">
265+ <excluded-flag value="no"/>
266+ <build-with-flag value="project"/>
267+ <intermediate-dir>.\Debug</intermediate-dir>
268+ <output-dir>.</output-dir>
269+ </file-configuration>
270+ <file-configuration name="Release">
271+ <excluded-flag value="no"/>
272+ <build-with-flag value="project"/>
273+ <intermediate-dir>.\Release</intermediate-dir>
274+ <output-dir>.</output-dir>
275+ </file-configuration>
276+ </file-configurations>
277+ </file>
278+ <file name="..\..\..\kernel\interrupt.c">
279+ <file-configurations>
280+ <file-configuration name="Debug">
281+ <excluded-flag value="no"/>
282+ <build-with-flag value="project"/>
283+ <intermediate-dir>.\Debug</intermediate-dir>
284+ <output-dir>.</output-dir>
285+ </file-configuration>
286+ <file-configuration name="Release">
287+ <excluded-flag value="no"/>
288+ <build-with-flag value="project"/>
289+ <intermediate-dir>.\Release</intermediate-dir>
290+ <output-dir>.</output-dir>
291+ </file-configuration>
292+ </file-configurations>
293+ </file>
294+ <file name="..\..\..\kernel\mailbox.c">
295+ <file-configurations>
296+ <file-configuration name="Debug">
297+ <excluded-flag value="no"/>
298+ <build-with-flag value="project"/>
299+ <intermediate-dir>.\Debug</intermediate-dir>
300+ <output-dir>.</output-dir>
301+ </file-configuration>
302+ <file-configuration name="Release">
303+ <excluded-flag value="no"/>
304+ <build-with-flag value="project"/>
305+ <intermediate-dir>.\Release</intermediate-dir>
306+ <output-dir>.</output-dir>
307+ </file-configuration>
308+ </file-configurations>
309+ </file>
310+ <file name="..\..\..\kernel\mempfix.c">
311+ <file-configurations>
312+ <file-configuration name="Debug">
313+ <excluded-flag value="no"/>
314+ <build-with-flag value="project"/>
315+ <intermediate-dir>.\Debug</intermediate-dir>
316+ <output-dir>.</output-dir>
317+ </file-configuration>
318+ <file-configuration name="Release">
319+ <excluded-flag value="no"/>
320+ <build-with-flag value="project"/>
321+ <intermediate-dir>.\Release</intermediate-dir>
322+ <output-dir>.</output-dir>
323+ </file-configuration>
324+ </file-configurations>
325+ </file>
326+ <file name="..\..\..\kernel\semaphore.c">
327+ <file-configurations>
328+ <file-configuration name="Debug">
329+ <excluded-flag value="no"/>
330+ <build-with-flag value="project"/>
331+ <intermediate-dir>.\Debug</intermediate-dir>
332+ <output-dir>.</output-dir>
333+ </file-configuration>
334+ <file-configuration name="Release">
335+ <excluded-flag value="no"/>
336+ <build-with-flag value="project"/>
337+ <intermediate-dir>.\Release</intermediate-dir>
338+ <output-dir>.</output-dir>
339+ </file-configuration>
340+ </file-configurations>
341+ </file>
342+ <file name="..\..\..\kernel\startup.c">
343+ <file-configurations>
344+ <file-configuration name="Debug">
345+ <excluded-flag value="no"/>
346+ <build-with-flag value="project"/>
347+ <intermediate-dir>.\Debug</intermediate-dir>
348+ <output-dir>.</output-dir>
349+ </file-configuration>
350+ <file-configuration name="Release">
351+ <excluded-flag value="no"/>
352+ <build-with-flag value="project"/>
353+ <intermediate-dir>.\Release</intermediate-dir>
354+ <output-dir>.</output-dir>
355+ </file-configuration>
356+ </file-configurations>
357+ </file>
358+ <file name="..\..\..\kernel\sys_manage.c">
359+ <file-configurations>
360+ <file-configuration name="Debug">
361+ <excluded-flag value="no"/>
362+ <build-with-flag value="project"/>
363+ <intermediate-dir>.\Debug</intermediate-dir>
364+ <output-dir>.</output-dir>
365+ </file-configuration>
366+ <file-configuration name="Release">
367+ <excluded-flag value="no"/>
368+ <build-with-flag value="project"/>
369+ <intermediate-dir>.\Release</intermediate-dir>
370+ <output-dir>.</output-dir>
371+ </file-configuration>
372+ </file-configurations>
373+ </file>
374+ <file name="..\..\..\kernel\task.c">
375+ <file-configurations>
376+ <file-configuration name="Debug">
377+ <excluded-flag value="no"/>
378+ <build-with-flag value="project"/>
379+ <intermediate-dir>.\Debug</intermediate-dir>
380+ <output-dir>.</output-dir>
381+ </file-configuration>
382+ <file-configuration name="Release">
383+ <excluded-flag value="no"/>
384+ <build-with-flag value="project"/>
385+ <intermediate-dir>.\Release</intermediate-dir>
386+ <output-dir>.</output-dir>
387+ </file-configuration>
388+ </file-configurations>
389+ </file>
390+ <file name="..\..\..\kernel\task_except.c">
391+ <file-configurations>
392+ <file-configuration name="Debug">
393+ <excluded-flag value="no"/>
394+ <build-with-flag value="project"/>
395+ <intermediate-dir>.\Debug</intermediate-dir>
396+ <output-dir>.</output-dir>
397+ </file-configuration>
398+ <file-configuration name="Release">
399+ <excluded-flag value="no"/>
400+ <build-with-flag value="project"/>
401+ <intermediate-dir>.\Release</intermediate-dir>
402+ <output-dir>.</output-dir>
403+ </file-configuration>
404+ </file-configurations>
405+ </file>
406+ <file name="..\..\..\kernel\task_manage.c">
407+ <file-configurations>
408+ <file-configuration name="Debug">
409+ <excluded-flag value="no"/>
410+ <build-with-flag value="project"/>
411+ <intermediate-dir>.\Debug</intermediate-dir>
412+ <output-dir>.</output-dir>
413+ </file-configuration>
414+ <file-configuration name="Release">
415+ <excluded-flag value="no"/>
416+ <build-with-flag value="project"/>
417+ <intermediate-dir>.\Release</intermediate-dir>
418+ <output-dir>.</output-dir>
419+ </file-configuration>
420+ </file-configurations>
421+ </file>
422+ <file name="..\..\..\kernel\task_sync.c">
423+ <file-configurations>
424+ <file-configuration name="Debug">
425+ <excluded-flag value="no"/>
426+ <build-with-flag value="project"/>
427+ <intermediate-dir>.\Debug</intermediate-dir>
428+ <output-dir>.</output-dir>
429+ </file-configuration>
430+ <file-configuration name="Release">
431+ <excluded-flag value="no"/>
432+ <build-with-flag value="project"/>
433+ <intermediate-dir>.\Release</intermediate-dir>
434+ <output-dir>.</output-dir>
435+ </file-configuration>
436+ </file-configurations>
437+ </file>
438+ <file name="..\..\..\kernel\time_event.c">
439+ <file-configurations>
440+ <file-configuration name="Debug">
441+ <excluded-flag value="no"/>
442+ <build-with-flag value="project"/>
443+ <intermediate-dir>.\Debug</intermediate-dir>
444+ <output-dir>.</output-dir>
445+ </file-configuration>
446+ <file-configuration name="Release">
447+ <excluded-flag value="no"/>
448+ <build-with-flag value="project"/>
449+ <intermediate-dir>.\Release</intermediate-dir>
450+ <output-dir>.</output-dir>
451+ </file-configuration>
452+ </file-configurations>
453+ </file>
454+ <file name="..\..\..\kernel\time_manage.c">
455+ <file-configurations>
456+ <file-configuration name="Debug">
457+ <excluded-flag value="no"/>
458+ <build-with-flag value="project"/>
459+ <intermediate-dir>.\Debug</intermediate-dir>
460+ <output-dir>.</output-dir>
461+ </file-configuration>
462+ <file-configuration name="Release">
463+ <excluded-flag value="no"/>
464+ <build-with-flag value="project"/>
465+ <intermediate-dir>.\Release</intermediate-dir>
466+ <output-dir>.</output-dir>
467+ </file-configuration>
468+ </file-configurations>
469+ </file>
470+ <file name="..\..\..\kernel\wait.c">
471+ <file-configurations>
472+ <file-configuration name="Debug">
473+ <excluded-flag value="no"/>
474+ <build-with-flag value="project"/>
475+ <intermediate-dir>.\Debug</intermediate-dir>
476+ <output-dir>.</output-dir>
477+ </file-configuration>
478+ <file-configuration name="Release">
479+ <excluded-flag value="no"/>
480+ <build-with-flag value="project"/>
481+ <intermediate-dir>.\Release</intermediate-dir>
482+ <output-dir>.</output-dir>
483+ </file-configuration>
484+ </file-configurations>
485+ </file>
486+ </files>
487+ </folder>
488+ <folder name="library">
489+ <files>
490+ <file name="..\..\..\library\log_output.c">
491+ <file-configurations>
492+ <file-configuration name="Debug">
493+ <excluded-flag value="no"/>
494+ <build-with-flag value="project"/>
495+ <intermediate-dir>.\Debug</intermediate-dir>
496+ <output-dir>.</output-dir>
497+ </file-configuration>
498+ <file-configuration name="Release">
499+ <excluded-flag value="no"/>
500+ <build-with-flag value="project"/>
501+ <intermediate-dir>.\Release</intermediate-dir>
502+ <output-dir>.</output-dir>
503+ </file-configuration>
504+ </file-configurations>
505+ </file>
506+ <file name="..\..\..\library\strerror.c">
507+ <file-configurations>
508+ <file-configuration name="Debug">
509+ <excluded-flag value="no"/>
510+ <build-with-flag value="project"/>
511+ <intermediate-dir>.\Debug</intermediate-dir>
512+ <output-dir>.</output-dir>
513+ </file-configuration>
514+ <file-configuration name="Release">
515+ <excluded-flag value="no"/>
516+ <build-with-flag value="project"/>
517+ <intermediate-dir>.\Release</intermediate-dir>
518+ <output-dir>.</output-dir>
519+ </file-configuration>
520+ </file-configurations>
521+ </file>
522+ <file name="..\..\..\kernel\syslog.c">
523+ <file-configurations>
524+ <file-configuration name="Debug">
525+ <excluded-flag value="no"/>
526+ <build-with-flag value="project"/>
527+ <intermediate-dir>.\Debug</intermediate-dir>
528+ <output-dir>.</output-dir>
529+ </file-configuration>
530+ <file-configuration name="Release">
531+ <excluded-flag value="no"/>
532+ <build-with-flag value="project"/>
533+ <intermediate-dir>.\Release</intermediate-dir>
534+ <output-dir>.</output-dir>
535+ </file-configuration>
536+ </file-configurations>
537+ </file>
538+ <file name="..\..\..\library\t_perror.c">
539+ <file-configurations>
540+ <file-configuration name="Debug">
541+ <excluded-flag value="no"/>
542+ <build-with-flag value="project"/>
543+ <intermediate-dir>.\Debug</intermediate-dir>
544+ <output-dir>.</output-dir>
545+ </file-configuration>
546+ <file-configuration name="Release">
547+ <excluded-flag value="no"/>
548+ <build-with-flag value="project"/>
549+ <intermediate-dir>.\Release</intermediate-dir>
550+ <output-dir>.</output-dir>
551+ </file-configuration>
552+ </file-configurations>
553+ </file>
554+ <file name="..\..\..\library\vasyslog.c">
555+ <file-configurations>
556+ <file-configuration name="Debug">
557+ <excluded-flag value="no"/>
558+ <build-with-flag value="project"/>
559+ <intermediate-dir>.\Debug</intermediate-dir>
560+ <output-dir>.</output-dir>
561+ </file-configuration>
562+ <file-configuration name="Release">
563+ <excluded-flag value="no"/>
564+ <build-with-flag value="project"/>
565+ <intermediate-dir>.\Release</intermediate-dir>
566+ <output-dir>.</output-dir>
567+ </file-configuration>
568+ </file-configurations>
569+ </file>
570+ </files>
571+ </folder>
572+ <folder name="pidc">
573+ <files>
574+ <file name="..\..\..\pdic\simple_sio\uart.c">
575+ <file-configurations>
576+ <file-configuration name="Debug">
577+ <excluded-flag value="no"/>
578+ <build-with-flag value="project"/>
579+ <intermediate-dir>.\Debug</intermediate-dir>
580+ <output-dir>.\Debug</output-dir>
581+ </file-configuration>
582+ <file-configuration name="Release">
583+ <excluded-flag value="no"/>
584+ <build-with-flag value="project"/>
585+ <intermediate-dir>.\Release</intermediate-dir>
586+ <output-dir>.\Release</output-dir>
587+ </file-configuration>
588+ </file-configurations>
589+ </file>
590+ </files>
591+ </folder>
592+ <folder name="systask">
593+ <files>
594+ <file name="..\..\..\systask\timer.c">
595+ <file-configurations>
596+ <file-configuration name="Debug">
597+ <excluded-flag value="no"/>
598+ <build-with-flag value="project"/>
599+ <intermediate-dir>.\Debug</intermediate-dir>
600+ <output-dir>.</output-dir>
601+ </file-configuration>
602+ <file-configuration name="Release">
603+ <excluded-flag value="no"/>
604+ <build-with-flag value="project"/>
605+ <intermediate-dir>.\Release</intermediate-dir>
606+ <output-dir>.</output-dir>
607+ </file-configuration>
608+ </file-configurations>
609+ </file>
610+ </files>
611+ </folder>
612+ <folder name="usr">
613+ </folder>
614+ </folders>
615+ </folder>
616+ </folders>
617+</visualdsp-project>
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/chip_dump_empty.c
@@ -0,0 +1,37 @@
1+/**
2+ * \file chip_dump_dummy.c
3+* \brief ADSP-BF592用のポストモーテムダンプルーチン群(ダミー)
4+ *
5+ * chip_dump.cはコードサイズが大きく、例外時にしか必要としない機能のため、
6+ * sample1では機能を無効にしてフットプリントを少なくしている
7+ * chip_dump.cを使用する場合、chip_dump.cのみFLASHに配置するなど対策が必要
8+ */
9+#include "jsp_kernel.h"
10+
11+/**
12+ * \brief ハードウェア・エラー・ハンドラ
13+ *
14+ * ハードウェア・エラー時に呼び出されて、ハードウェア・エラー・割り込みのポストモーテム処理を行う。
15+ * 最初にFPを手繰って、割り込みのスタックフレームを探す。次にすべての割り込みを禁止し、
16+ * UART0を占有したあと、ポーリングを使ってスタックに保存された各レジスタのダンプを行う。
17+ * DEF_INH(INHNO_HW_ERROR, { TA_HLNG, hwei_handler });
18+ *
19+ */
20+void spurious_int_handler()
21+{
22+}
23+
24+/**
25+ * \brief CPU例外ハンドラ
26+ *
27+ * CPU例外ハンドラとしてcfgファイルに登録する。 hwei_handler()は呼ばれたら戻ってこないが、
28+ * そのあとにもexpFlagに値を代入しているのは、最適化によってunlink命令の値がルーチン呼び出しの
29+ * 前に移動することを防ぐためである。
30+ *
31+ * DEF_EXC(CPUEXC1, { TA_HLNG, excp_handler} );
32+ *
33+ */
34+void spurious_exc_handler(VP p_excinf)
35+{
36+}
37+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/config.bat
@@ -0,0 +1,17 @@
1+rem APPNAME アプリケーション名
2+rem CFGPATH cfg.exeが置いてあるディレクトリ
3+rem VDSPPATH VisualDSP++のインストールディレクトリ
4+rem JSPPATH TOPPERS/JSPのディレクトリ
5+rem CPATH Blackfin CPU依存部のディレクトリ
6+rem SPATH システム依存部のディレクトリ
7+
8+set APPNAME=sample1
9+set CFGPATH=X:\Work\jsp
10+set VDSPPATH=C:\Program Files\Analog Devices\VisualDSP 5.0
11+set JSPPATH=X:\Work\jsp
12+set CPATH=%JSPPATH%\config\blackfin
13+set SPATH=%CPATH%\ezkit_bf592;%CPATH%\_common_bf592
14+
15+"%VDSPPATH%\pp.exe" %APPNAME%.cfg -D__ECC__ -D__ADSPLPBLACKFIN__ -I"%CPATH%;%SPATH%;%JSPPATH%\systask;%JSPPATH%\include;" > %APPNAME%_pp.cfg
16+"%CFGPATH%\cfg.exe" %APPNAME%_pp.cfg
17+del %APPNAME%_pp.cfg
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/kernel_cfg.c
@@ -0,0 +1,181 @@
1+/* Configured with [sample1_pp.cfg ] */
2+
3+#include "kernel_cfg.h"
4+#include "kernel_id.h"
5+
6+#if TKERNEL_PRVER >= 0x1040
7+#define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(inthdr)
8+#define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(exchdr)
9+#define CFG_INT_ENTRY(inthdr) INT_ENTRY(inthdr)
10+#define CFG_EXC_ENTRY(exchdr) EXC_ENTRY(exchdr)
11+#else
12+#error "This configuration file has no compatibility with TOPPERS/JSP rel 1.3 or earlier."
13+#endif
14+
15+#ifndef __EMPTY_LABEL
16+#define __EMPTY_LABEL(x,y) x y[0]
17+#endif
18+
19+#if TKERNEL_PRID != 0x0001u /* TOPPERS/JSP */
20+#error "You can not use this configuration file without TOPPERS/JSP"
21+#endif
22+
23+ /* User specified include files*/
24+#include "sample1.h"
25+#include "hw_timer.h"
26+#include "timer.h"
27+#include "hw_serial.h"
28+#include "serial.h"
29+#include "logtask.h"
30+
31+
32+ /* Object initializer [task] */
33+
34+#define TNUM_TSKID 5
35+
36+const ID _kernel_tmax_tskid = (TMIN_TSKID + TNUM_TSKID - 1);
37+
38+static __STK_UNIT __stack_TASK1[__TCOUNT_STK_UNIT(1024)];
39+static __STK_UNIT __stack_TASK2[__TCOUNT_STK_UNIT(1024)];
40+static __STK_UNIT __stack_TASK3[__TCOUNT_STK_UNIT(1024)];
41+static __STK_UNIT __stack_MAIN_TASK[__TCOUNT_STK_UNIT(1024)];
42+static __STK_UNIT __stack_LOGTASK[__TCOUNT_STK_UNIT(LOGTASK_STACK_SIZE)];
43+
44+const TINIB _kernel_tinib_table[TNUM_TSKID] = {
45+ {0, (VP_INT)(( VP_INT ) 1), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(1024), __stack_TASK1, 0, (FP)(tex_routine)},
46+ {0, (VP_INT)(( VP_INT ) 2), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(1024), __stack_TASK2, 0, (FP)(tex_routine)},
47+ {0, (VP_INT)(( VP_INT ) 3), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(1024), __stack_TASK3, 0, (FP)(tex_routine)},
48+ {0x00u | 0x02u, (VP_INT)(0), (FP)(main_task), INT_PRIORITY(5), __TROUND_STK_UNIT(1024), __stack_MAIN_TASK, TA_NULL, (FP)(NULL)},
49+ {0x00u | 0x02u, (VP_INT)(( VP_INT ) LOGTASK_PORTID), (FP)(logtask), INT_PRIORITY(LOGTASK_PRIORITY), __TROUND_STK_UNIT(LOGTASK_STACK_SIZE), __stack_LOGTASK, TA_NULL, (FP)(NULL)}
50+};
51+
52+const ID _kernel_torder_table[TNUM_TSKID] = {1,2,3,4,5};
53+
54+TCB _kernel_tcb_table[TNUM_TSKID];
55+
56+
57+ /* Object initializer [semaphore] */
58+
59+#define TNUM_SEMID 2
60+
61+const ID _kernel_tmax_semid = (TMIN_SEMID + TNUM_SEMID - 1);
62+
63+const SEMINIB _kernel_seminib_table[TNUM_SEMID] = {
64+ {1, 0, 1},
65+ {1, 1, 1}
66+};
67+
68+SEMCB _kernel_semcb_table[TNUM_SEMID];
69+
70+
71+ /* Object initializer [eventflag] */
72+
73+#define TNUM_FLGID 0
74+
75+const ID _kernel_tmax_flgid = (TMIN_FLGID + TNUM_FLGID - 1);
76+
77+__EMPTY_LABEL(const FLGINIB, _kernel_flginib_table);
78+__EMPTY_LABEL(FLGCB, _kernel_flgcb_table);
79+
80+
81+ /* Object initializer [dataqueue] */
82+
83+#define TNUM_DTQID 0
84+
85+const ID _kernel_tmax_dtqid = (TMIN_DTQID + TNUM_DTQID - 1);
86+
87+__EMPTY_LABEL(const DTQINIB, _kernel_dtqinib_table);
88+__EMPTY_LABEL(DTQCB, _kernel_dtqcb_table);
89+
90+
91+ /* Object initializer [mailbox] */
92+
93+#define TNUM_MBXID 0
94+
95+const ID _kernel_tmax_mbxid = (TMIN_MBXID + TNUM_MBXID - 1);
96+
97+__EMPTY_LABEL(const MBXINIB, _kernel_mbxinib_table);
98+__EMPTY_LABEL(MBXCB, _kernel_mbxcb_table);
99+
100+
101+ /* Object initializer [mempfix] */
102+
103+#define TNUM_MPFID 0
104+
105+const ID _kernel_tmax_mpfid = (TMIN_MPFID + TNUM_MPFID - 1);
106+
107+__EMPTY_LABEL(const MPFINIB, _kernel_mpfinib_table);
108+__EMPTY_LABEL(MPFCB, _kernel_mpfcb_table);
109+
110+
111+ /* Object initializer [cyclic] */
112+
113+#define TNUM_CYCID 1
114+
115+const ID _kernel_tmax_cycid = (TMIN_CYCID + TNUM_CYCID - 1);
116+
117+const CYCINIB _kernel_cycinib_table[TNUM_CYCID] = {
118+ {0,0,(FP)(cyclic_handler),2000,0}
119+};
120+
121+CYCCB _kernel_cyccb_table[TNUM_CYCID];
122+
123+
124+ /* Object initializer [interrupt] */
125+
126+#define TNUM_INHNO 3
127+
128+const UINT _kernel_tnum_inhno = TNUM_INHNO;
129+
130+CFG_INTHDR_ENTRY(sio0_rx_handler);
131+CFG_INTHDR_ENTRY(sio0_tx_handler);
132+CFG_INTHDR_ENTRY(timer_handler);
133+
134+const INHINIB _kernel_inhinib_table[TNUM_INHNO] = {
135+ {INHNO_SIO0_RX,0,(FP)CFG_INT_ENTRY(sio0_rx_handler)},
136+ {INHNO_SIO0_TX,0,(FP)CFG_INT_ENTRY(sio0_tx_handler)},
137+ {INHNO_TIMER,0,(FP)CFG_INT_ENTRY(timer_handler)}
138+};
139+
140+
141+ /* Object initializer [exception] */
142+
143+#define TNUM_EXCNO 1
144+
145+const UINT _kernel_tnum_excno = TNUM_EXCNO;
146+
147+CFG_EXCHDR_ENTRY(cpuexc_handler);
148+
149+const EXCINIB _kernel_excinib_table[TNUM_EXCNO] = {
150+ {0,0,(FP)CFG_EXC_ENTRY(cpuexc_handler)}
151+};
152+
153+ /* Initialization handler */
154+
155+void
156+_kernel_call_inirtn(void)
157+{
158+ timer_initialize( (VP_INT)(0) );
159+ serial_initialize( (VP_INT)(0) );
160+}
161+
162+void
163+_kernel_call_terrtn(void)
164+{
165+ timer_terminate( (VP_INT)(0) );
166+}
167+
168+ /* Object initialization routine */
169+
170+void
171+_kernel_object_initialize(void)
172+{
173+ _kernel_task_initialize();
174+ _kernel_semaphore_initialize();
175+ _kernel_cyclic_initialize();
176+ _kernel_interrupt_initialize();
177+ _kernel_exception_initialize();
178+}
179+
180+TMEVTN _kernel_tmevt_heap[TNUM_TSKID + TNUM_CYCID];
181+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/kernel_id.h
@@ -0,0 +1,16 @@
1+#ifndef KERNEL_ID_H
2+#define KERNEL_ID_H
3+
4+ /* object identifier deifnition */
5+
6+#define CYCHDR1 1
7+#define LOGTASK 5
8+#define MAIN_TASK 4
9+#define SERIAL_RCV_SEM1 1
10+#define SERIAL_SND_SEM1 2
11+#define TASK1 1
12+#define TASK2 2
13+#define TASK3 3
14+
15+#endif /* KERNEL_ID_H */
16+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/readme.txt
@@ -0,0 +1,21 @@
1+TOPPERS/JSPのsample1アプリケーションをEZ-KIT Lite BF592
2+移植した。
3+
4+ビルドに先立って、jsp/config/blackfin/ezkit_bf592/libkernel.dpjを
5+ビルドして、libekernel.dlbを作っておくこと。
6+
7+また、jsp/utils/blackfin-vdsp/offset.hは、必要に応じて
8+作り直すこと。
9+
10+VisualDSP++のICEを使ってロードする場合には、実行直前に次の
11+二つのレジスタの値に注意すること。
12+
13+sample1.ldfは、VisualDSP++に作らせたあと、自動更新を
14+停止し、crtを削除したものである。
15+
16+異なるシステム依存部用に改造する場合は、プロジェクトの
17+Cコンパイラ、およびアセンブラのインクルード・パスを必ず
18+変更すること。
19+
20+2012/07/20追加
21+Visual DSP++ 5.0 Update 10でビルド&動作確認
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/sample1.c
@@ -0,0 +1,417 @@
1+/*
2+ * TOPPERS/JSP Kernel
3+ * Toyohashi Open Platform for Embedded Real-Time Systems/
4+ * Just Standard Profile Kernel
5+ *
6+ * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7+ * Toyohashi Univ. of Technology, JAPAN
8+ * Copyright (C) 2004-2006 by Embedded and Real-Time Systems Laboratory
9+ * Graduate School of Information Science, Nagoya Univ., JAPAN
10+ *
11+ * 上記著作権者は,以下の (1)縲・4) の条件か,Free Software Foundation
12+ * によって公表されている GNU General Public License の Version 2 に記
13+ * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
14+ * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
15+ * 利用と呼ぶ)することを無償で許諾する.
16+ * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17+ * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18+ * スコード中に含まれていること.
19+ * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20+ * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
21+ * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
22+ * の無保証規定を掲載すること.
23+ * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24+ * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
25+ * と.
26+ * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
27+ * 作権表示,この利用条件および下記の無保証規定を掲載すること.
28+ * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
29+ * 報告すること.
30+ * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
31+ * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
32+ *
33+ * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
34+ * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
35+ * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
36+ * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
37+ *
38+ * @(#) $Id: sample1.c,v 1.1 2012/07/20 07:36:00 maduki Exp $
39+ */
40+
41+/*
42+ * サンプルプログラム(1)の本体
43+ *
44+ * JSPカーネルの基本的な動作を確認するためのサンプルプログラム.
45+ *
46+ * プログラムの概要:
47+ *
48+ * ユーザインタフェースを受け持つメインタスク(タスクID: MAIN_TASK,
49+ * 優先度: MAIN_PRIORITY)と,三つの並列実行されるタスク(タスクID:
50+ * TASK1縲弋ASK3,初期優先度: MID_PRIORITY)で構成される.また,起動周
51+ * 期が2秒の周期ハンドラ(周期ハンドラID: CYCHDR1)を用いる.
52+ *
53+ * 並列実行されるタスクは,task_loop 回空ループを実行する度に,タスク
54+ * が実行中であることをあらわすメッセージを表示する.
55+ *
56+ * 周期ハンドラは,三つの優先度(HIGH_PRIORITY,MID_PRIORITY,
57+ * LOW_PRIORITY)のレディキューを回転させる.プログラムの起動直後は,
58+ * 周期ハンドラは停止状態になっている.
59+ *
60+ * メインタスクは,シリアルI/Oポートからの文字入力を行い(文字入力を
61+ * 待っている間は,並列実行されるタスクが実行されている),入力された
62+ * 文字に対応した処理を実行する.入力された文字と処理の関係は次の通り.
63+ * Control-C または 'Q' が入力されると,プログラムを終了する.
64+ *
65+ * '1' : 以降のコマンドは TASK1 に対して行う.
66+ * '2' : 以降のコマンドは TASK2 に対して行う.
67+ * '3' : 以降のコマンドは TASK3 に対して行う.
68+ * 'a' : タスクを act_tsk により起動する.
69+ * 'A' : タスクに対する起動要求を can_act によりキャンセルする.
70+ * 'e' : タスクに ext_tsk を呼び出させ,終了させる.
71+ * 't' : タスクを ter_tsk により強制終了する.
72+ * '>' : タスクの優先度を HIGH_PRIORITY にする.
73+ * '=' : タスクの優先度を MID_PRIORITY にする.
74+ * '<' : タスクの優先度を LOW_PRIORITY にする.
75+ * 'G' : タスクの優先度を get_pri で読み出す.
76+ * 's' : タスクに slp_tsk を呼び出させ,起床待ちにさせる.
77+ * 'S' : タスクに tslp_tsk(10秒) を呼び出させ,起床待ちにさせる.
78+ * 'w' : タスクを wup_tsk により起床する.
79+ * 'W' : タスクに対する起床要求を can_wup によりキャンセルする.
80+ * 'l' : タスクを rel_wai により強制的に待ち解除にする.
81+ * 'u' : タスクを sus_tsk により強制待ち状態にする.
82+ * 'm' : タスクの強制待ち状態を rsm_tsk により解除する.
83+ * 'M' : タスクの強制待ち状態を frsm_tsk により強制解除する.
84+ * 'd' : タスクに dly_tsk(10秒) を呼び出させ,時間経過待ちにさせる.
85+ * 'x' : タスクにパターン 0x0001 の例外処理を要求する.
86+ * 'X' : タスクにパターン 0x0002 の例外処理を要求する.
87+ * 'y' : タスクに dis_tex を呼び出させ,タスク例外を禁止する.
88+ * 'Y' : タスクに ena_tex を呼び出させ,タスク例外を許可する.
89+ * 'r' : 三つの優先度(HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)の
90+ * レディキューを回転させる.
91+ * 'c' : 周期ハンドラを動作させる.
92+ * 'C' : 周期ハンドラを停止させる.
93+ * 'z' : CPU例外を発生させる.
94+ * 'Z' : CPUロック状態でCPU例外を発生させる(プログラムを終了する).
95+ * 'V' : vxget_tim で性能評価用システム時刻を2回読む.
96+ * 'v' : 発行したシステムコールを表示する(デフォルト).
97+ * 'q' : 発行したシステムコールを表示しない.
98+ */
99+
100+#include <t_services.h>
101+#include "kernel_id.h"
102+#include "sample1.h"
103+
104+/*
105+ * 並行実行されるタスクへのメッセージ領域
106+ */
107+char message[3];
108+
109+/*
110+ * ループ回数
111+ */
112+UW task_loop; /* タスク内でのループ回数 */
113+UW tex_loop; /* 例外処理ルーチン内でのループ回数 */
114+
115+/*
116+ * 並行実行されるタスク
117+ */
118+void task(VP_INT exinf)
119+{
120+ volatile UW i;
121+ INT n = 0;
122+ INT tskno = (INT) exinf;
123+ const char *graph[] = { "|", " +", " *" };
124+ char c;
125+
126+ ena_tex();
127+ while (1) {
128+ syslog(LOG_NOTICE, "task%d is running (%03d). %s",
129+ tskno, ++n, graph[tskno-1]);
130+ for (i = 0; i < task_loop; i++);
131+ c = message[tskno-1];
132+ message[tskno-1] = 0;
133+ switch (c) {
134+ case 'e':
135+ syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
136+ ext_tsk();
137+ case 's':
138+ syslog(LOG_INFO, "#%d#slp_tsk()", tskno);
139+ syscall(slp_tsk());
140+ break;
141+ case 'S':
142+ syslog(LOG_INFO, "#%d#tslp_tsk(10000)", tskno);
143+ syscall(tslp_tsk(10000));
144+ break;
145+ case 'd':
146+ syslog(LOG_INFO, "#%d#dly_tsk(10000)", tskno);
147+ syscall(dly_tsk(10000));
148+ break;
149+ case 'y':
150+ syslog(LOG_INFO, "#%d#dis_tex()", tskno);
151+ syscall(dis_tex());
152+ break;
153+ case 'Y':
154+ syslog(LOG_INFO, "#%d#ena_tex()", tskno);
155+ syscall(ena_tex());
156+ break;
157+#ifdef CPUEXC1
158+ case 'z':
159+ syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
160+ RAISE_CPU_EXCEPTION;
161+ break;
162+ case 'Z':
163+ loc_cpu();
164+ syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
165+ RAISE_CPU_EXCEPTION;
166+ unl_cpu();
167+ break;
168+#endif /* CPUEXC1 */
169+ default:
170+ break;
171+ }
172+ }
173+}
174+
175+/*
176+ * 並行して実行されるタスク用のタスク例外処理ルーチン
177+ */
178+void tex_routine(TEXPTN texptn, VP_INT exinf)
179+{
180+ volatile UW i;
181+ INT tskno = (INT) exinf;
182+
183+ syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
184+ tskno, texptn);
185+ for (i = 0; i < tex_loop; i++);
186+
187+ if (texptn & 0x8000) {
188+ syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
189+ ext_tsk();
190+ }
191+}
192+
193+/*
194+ * CPU例外ハンドラ
195+ */
196+#ifdef CPUEXC1
197+
198+void
199+cpuexc_handler(VP p_excinf)
200+{
201+ ID tskid;
202+
203+ syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08p).",
204+ p_excinf);
205+ if (sns_ctx() != TRUE) {
206+ syslog(LOG_WARNING,
207+ "sns_ctx() is not TRUE in CPU exception handler.");
208+ }
209+ if (sns_dpn() != TRUE) {
210+ syslog(LOG_WARNING,
211+ "sns_dpn() is not TRUE in CPU exception handler.");
212+ }
213+ syslog(LOG_DEBUG,
214+ "sns_loc = %d sns_dsp = %d", sns_loc(), sns_dsp());
215+ syslog(LOG_DEBUG,
216+ "vxsns_loc = %d vxsns_ctx = %d vxsns_dsp = %d vxsns_dpn = %d",
217+ vxsns_loc(p_excinf), vxsns_ctx(p_excinf),
218+ vxsns_dsp(p_excinf), vxsns_dpn(p_excinf));
219+
220+ if (!vxsns_loc(p_excinf) && !vxsns_ctx(p_excinf)) {
221+ syscall(iget_tid(&tskid));
222+ syscall(iras_tex(tskid, 0x8000));
223+ }
224+ else {
225+ syslog(LOG_NOTICE, "Sample program ends with exception.");
226+ kernel_exit();
227+ }
228+}
229+
230+#endif /* CPUEXC1 */
231+
232+/*
233+ * 周期ハンドラ
234+ *
235+ * HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
236+ * を回転させる.
237+ */
238+void cyclic_handler(VP_INT exinf)
239+{
240+ irot_rdq(HIGH_PRIORITY);
241+ irot_rdq(MID_PRIORITY);
242+ irot_rdq(LOW_PRIORITY);
243+}
244+
245+/*
246+ * メインタスク
247+ */
248+void main_task(VP_INT exinf)
249+{
250+ char c;
251+ ID tskid = TASK1;
252+ volatile UW i;
253+ INT tskno = 1;
254+ ER_UINT ercd;
255+ PRI tskpri;
256+ SYSTIM stime1, stime2;
257+#ifndef OMIT_VGET_TIM
258+ SYSUTIM utime1, utime2;
259+#endif /* OMIT_VGET_TIM */
260+
261+ vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
262+ syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", (INT) exinf);
263+
264+ syscall(serial_ctl_por(TASK_PORTID,
265+ (IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV)));
266+
267+ /*
268+ * ループ回数の設定
269+ */
270+ task_loop = LOOP_REF;
271+ get_tim(&stime1);
272+ for (i = 0; i < task_loop; i++);
273+ get_tim(&stime2);
274+ task_loop = LOOP_REF * 400 / (stime2 - stime1);
275+ tex_loop = task_loop / 5;
276+
277+ /*
278+ * タスクの起動
279+ */
280+ act_tsk(TASK1);
281+ act_tsk(TASK2);
282+ act_tsk(TASK3);
283+
284+ /*
285+ * メインループ
286+ */
287+ do {
288+ syscall(serial_rea_dat(TASK_PORTID, &c, 1));
289+ switch (c) {
290+ case 'e':
291+ case 's':
292+ case 'S':
293+ case 'd':
294+ case 'y':
295+ case 'Y':
296+ case 'z':
297+ case 'Z':
298+ message[tskno-1] = c;
299+ break;
300+ case '1':
301+ tskno = 1;
302+ tskid = TASK1;
303+ break;
304+ case '2':
305+ tskno = 2;
306+ tskid = TASK2;
307+ break;
308+ case '3':
309+ tskno = 3;
310+ tskid = TASK3;
311+ break;
312+ case 'a':
313+ syslog(LOG_INFO, "#act_tsk(%d)", tskno);
314+ syscall(act_tsk(tskid));
315+ break;
316+ case 'A':
317+ syslog(LOG_INFO, "#can_act(%d)", tskno);
318+ syscall(ercd = can_act(tskid));
319+ if (ercd >= 0) {
320+ syslog(LOG_NOTICE, "can_act(%d) returns %d",
321+ tskno, ercd);
322+ }
323+ break;
324+ case 't':
325+ syslog(LOG_INFO, "#ter_tsk(%d)", tskno);
326+ syscall(ter_tsk(tskid));
327+ break;
328+ case '>':
329+ syslog(LOG_INFO, "#chg_pri(%d, HIGH_PRIORITY)", tskno);
330+ chg_pri(tskid, HIGH_PRIORITY);
331+ break;
332+ case '=':
333+ syslog(LOG_INFO, "#chg_pri(%d, MID_PRIORITY)", tskno);
334+ chg_pri(tskid, MID_PRIORITY);
335+ break;
336+ case '<':
337+ syslog(LOG_INFO, "#chg_pri(%d, LOW_PRIORITY)", tskno);
338+ chg_pri(tskid, LOW_PRIORITY);
339+ break;
340+ case 'G':
341+ syslog(LOG_INFO, "#get_pri(%d, &tskpri)", tskno);
342+ syscall(ercd = get_pri(tskid, &tskpri));
343+ if (ercd >= 0) {
344+ syslog(LOG_NOTICE, "priority of task %d is %d",
345+ tskno, tskpri);
346+ }
347+ break;
348+ case 'w':
349+ syslog(LOG_INFO, "#wup_tsk(%d)", tskno);
350+ syscall(wup_tsk(tskid));
351+ break;
352+ case 'W':
353+ syslog(LOG_INFO, "#can_wup(%d)", tskno);
354+ syscall(ercd = can_wup(tskid));
355+ if (ercd >= 0) {
356+ syslog(LOG_NOTICE, "can_wup(%d) returns %d",
357+ tskno, ercd);
358+ }
359+ break;
360+ case 'l':
361+ syslog(LOG_INFO, "#rel_wai(%d)", tskno);
362+ syscall(rel_wai(tskid));
363+ break;
364+ case 'u':
365+ syslog(LOG_INFO, "#sus_tsk(%d)", tskno);
366+ syscall(sus_tsk(tskid));
367+ break;
368+ case 'm':
369+ syslog(LOG_INFO, "#rsm_tsk(%d)", tskno);
370+ syscall(rsm_tsk(tskid));
371+ break;
372+ case 'M':
373+ syslog(LOG_INFO, "#frsm_tsk(%d)", tskno);
374+ syscall(frsm_tsk(tskid));
375+ break;
376+ case 'x':
377+ syslog(LOG_INFO, "#ras_tex(%d, 0x0001)", tskno);
378+ syscall(ras_tex(tskid, 0x0001));
379+ break;
380+ case 'X':
381+ syslog(LOG_INFO, "#ras_tex(%d, 0x0002)", tskno);
382+ syscall(ras_tex(tskid, 0x0002));
383+ break;
384+ case 'r':
385+ syslog(LOG_INFO, "#rot_rdq(three priorities)");
386+ rot_rdq(HIGH_PRIORITY);
387+ rot_rdq(MID_PRIORITY);
388+ rot_rdq(LOW_PRIORITY);
389+ break;
390+ case 'c':
391+ sta_cyc(CYCHDR1);
392+ break;
393+ case 'C':
394+ stp_cyc(CYCHDR1);
395+ break;
396+#ifndef OMIT_VGET_TIM
397+ case 'V':
398+ syscall(vxget_tim(&utime1));
399+ syscall(vxget_tim(&utime2));
400+ syslog(LOG_NOTICE, "utime1 = %d, utime2 = %d",
401+ (UINT) utime1, (UINT) utime2);
402+ break;
403+#endif /* OMIT_VGET_TIM */
404+ case 'v':
405+ vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
406+ break;
407+ case 'q':
408+ vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
409+ break;
410+ default:
411+ break;
412+ }
413+ } while (c != '\003' && c != 'Q');
414+
415+ syslog(LOG_NOTICE, "Sample program ends.");
416+ kernel_exit();
417+}
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/sample1.cfg
@@ -0,0 +1,28 @@
1+/*
2+ * @(#) $Id: sample1.cfg,v 1.1 2012/07/20 07:36:00 maduki Exp $
3+ */
4+
5+/*
6+ * サンプルプログラム(1)のシステムコンフィギュレーションファイル
7+ */
8+
9+#define _MACRO_ONLY
10+#include "sample1.h"
11+
12+INCLUDE("\"sample1.h\"");
13+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
14+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
15+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
16+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
17+ STACK_SIZE, NULL });
18+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
19+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
20+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
21+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
22+#ifdef CPUEXC1
23+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
24+#endif /* CPUEXC1 */
25+
26+#include "../systask/timer.cfg"
27+#include "../systask/serial.cfg"
28+#include "../systask/logtask.cfg"
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/sample1.dpj
@@ -0,0 +1,243 @@
1+<?xml version="1.0" encoding='ISO-8859-1'?>
2+<visualdsp-project schema="17" name="sample1_acb_bf592" file="sample1.dpj" version="1">
3+ <!-- Project build target -->
4+ <target>
5+ <processor revision="Automatic">ADSP-BF592-A</processor>
6+ <extension>.dxe</extension>
7+ <type>Executable file</type>
8+ </target>
9+ <!-- Configurations -->
10+ <configurations active="Release">
11+ <configuration name="Debug">
12+ <intermediate-dir>.\Debug</intermediate-dir>
13+ <output-dir>.\Debug</output-dir>
14+ <changed-property-page-flags>0</changed-property-page-flags>
15+ <tools>
16+ <tool type="Compiler">
17+ <option><![CDATA[|-Version>5.0|-O>0|-O1>0|-Ov>100|-ipa>0|-g>1|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>1|-check-init-order>0|-ignore-std>0|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>0|-misra-testing>0|-misra-suppress-advisory>0|-I>..\..\..\kernel;..\..\..\include;..\..\..\systask;..\..\..\pdic\simple_sio;..\..\..\config\blackfin;..\..\..\config\blackfin\acb_bf592;..\..\..\config\blackfin\_common_bf592|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-stack-detect>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
18+ </tool>
19+ <tool type="Assembler">
20+ <option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>0|-save-temps>0|-sp>0]]></option>
21+ </tool>
22+ <tool type="Linker">
23+ <option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>0|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-flags-link -e>0|-flags-link -ev>0|-add-debug-libpaths>1|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1]]></option>
24+ </tool>
25+ <tool type="Archiver">
26+ <option><![CDATA[]]></option>
27+ </tool>
28+ <tool type="Loader">
29+ <option><![CDATA[|-Version>4.5|-b Flash>1|-f HEX>1|-Width 16>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-BaudRate 500k>1|-HoldTime >-1|-pFlag >-1|-zinit>0|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
30+ </tool>
31+ <tool type="VdkGen">
32+ <option><![CDATA[]]></option>
33+ </tool>
34+ </tools>
35+ </configuration>
36+ <configuration name="Release">
37+ <intermediate-dir>.\Release</intermediate-dir>
38+ <output-dir>.\Release</output-dir>
39+ <changed-property-page-flags>0</changed-property-page-flags>
40+ <tools>
41+ <tool type="Compiler">
42+ <option><![CDATA[|-Version>5.0|-O>1|-O1>1|-Ov>100|-ipa>0|-g>0|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>1|-check-init-order>0|-ignore-std>0|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>1|-misra-testing>1|-misra-suppress-advisory>0|-I>..\..\..\kernel;..\..\..\include;..\..\..\systask;..\..\..\pdic\simple_sio;..\..\..\config\blackfin;..\..\..\config\blackfin\acb_bf592;..\..\..\config\blackfin\_common_bf592|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-stack-detect>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
43+ </tool>
44+ <tool type="Assembler">
45+ <option><![CDATA[|-Version>4.5|-v>0|-g>0|-l>0|-save-temps>0|-sp>0]]></option>
46+ </tool>
47+ <tool type="Linker">
48+ <option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>0|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>1|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1]]></option>
49+ </tool>
50+ <tool type="Archiver">
51+ <option><![CDATA[]]></option>
52+ </tool>
53+ <tool type="Loader">
54+ <option><![CDATA[|-Version>4.5|-b Flash>1|-f HEX>1|-Width 16>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-BaudRate 500k>1|-HoldTime >-1|-pFlag >-1|-zinit>0|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
55+ </tool>
56+ <tool type="VdkGen">
57+ <option><![CDATA[]]></option>
58+ </tool>
59+ </tools>
60+ </configuration>
61+ </configurations>
62+ <!-- Project folders -->
63+ <folders>
64+ <folder name="Header Files" ext=".h,.hpp,.hxx">
65+ <files>
66+ <file name=".\kernel_id.h">
67+ </file>
68+ <file name=".\sample1.h">
69+ </file>
70+ </files>
71+ </folder>
72+ <folder name="Linker Files" ext=".ldf,.dlb">
73+ <files>
74+ <file name="..\..\..\config\blackfin\acb_bf592\libkernel.dlb">
75+ <file-configurations>
76+ <file-configuration name="Debug">
77+ <excluded-flag value="no"/>
78+ </file-configuration>
79+ <file-configuration name="Release">
80+ <excluded-flag value="no"/>
81+ </file-configuration>
82+ </file-configurations>
83+ </file>
84+ <file name=".\sample1.ldf">
85+ <file-configurations>
86+ <file-configuration name="Debug">
87+ <excluded-flag value="no"/>
88+ <build-with-flag value="project"/>
89+ <intermediate-dir>.\Debug</intermediate-dir>
90+ <output-dir>.\Debug</output-dir>
91+ </file-configuration>
92+ <file-configuration name="Release">
93+ <excluded-flag value="no"/>
94+ <build-with-flag value="project"/>
95+ <intermediate-dir>.\Release</intermediate-dir>
96+ <output-dir>.\Release</output-dir>
97+ </file-configuration>
98+ </file-configurations>
99+ </file>
100+ </files>
101+ </folder>
102+ <folder name="pdic">
103+ <files>
104+ <file name="..\..\..\pdic\simple_sio\uart.c">
105+ <file-configurations>
106+ <file-configuration name="Debug">
107+ <excluded-flag value="no"/>
108+ <build-with-flag value="project"/>
109+ <intermediate-dir>.\Debug</intermediate-dir>
110+ <output-dir>.\Debug</output-dir>
111+ </file-configuration>
112+ <file-configuration name="Release">
113+ <excluded-flag value="no"/>
114+ <build-with-flag value="project"/>
115+ <intermediate-dir>.\Release</intermediate-dir>
116+ <output-dir>.\Release</output-dir>
117+ </file-configuration>
118+ </file-configurations>
119+ </file>
120+ </files>
121+ </folder>
122+ <folder name="Source Files" ext=".c,.cpp,.cxx,.asm,.dsp,.s">
123+ <files>
124+ <file name=".\chip_dump_empty.c">
125+ <file-configurations>
126+ <file-configuration name="Debug">
127+ <excluded-flag value="no"/>
128+ <build-with-flag value="project"/>
129+ <intermediate-dir>.\Debug</intermediate-dir>
130+ <output-dir>.\Debug</output-dir>
131+ </file-configuration>
132+ <file-configuration name="Release">
133+ <excluded-flag value="no"/>
134+ <build-with-flag value="project"/>
135+ <intermediate-dir>.\Release</intermediate-dir>
136+ <output-dir>.\Release</output-dir>
137+ </file-configuration>
138+ </file-configurations>
139+ </file>
140+ <file name=".\kernel_cfg.c">
141+ <file-configurations>
142+ <file-configuration name="Debug">
143+ <excluded-flag value="no"/>
144+ <build-with-flag value="project"/>
145+ <intermediate-dir>.\Debug</intermediate-dir>
146+ <output-dir>.\Debug</output-dir>
147+ </file-configuration>
148+ <file-configuration name="Release">
149+ <excluded-flag value="no"/>
150+ <build-with-flag value="project"/>
151+ <intermediate-dir>.\Release</intermediate-dir>
152+ <output-dir>.\Release</output-dir>
153+ </file-configuration>
154+ </file-configurations>
155+ </file>
156+ <file name=".\sample1.c">
157+ <file-configurations>
158+ <file-configuration name="Debug">
159+ <excluded-flag value="no"/>
160+ <build-with-flag value="project"/>
161+ <intermediate-dir>.\Debug</intermediate-dir>
162+ <output-dir>.\Debug</output-dir>
163+ </file-configuration>
164+ <file-configuration name="Release">
165+ <excluded-flag value="no"/>
166+ <build-with-flag value="project"/>
167+ <intermediate-dir>.\Release</intermediate-dir>
168+ <output-dir>.\Release</output-dir>
169+ </file-configuration>
170+ </file-configurations>
171+ </file>
172+ </files>
173+ </folder>
174+ <folder name="systask">
175+ <files>
176+ <file name="..\..\..\systask\logtask.c">
177+ <file-configurations>
178+ <file-configuration name="Debug">
179+ <excluded-flag value="no"/>
180+ <build-with-flag value="project"/>
181+ <intermediate-dir>.\Debug</intermediate-dir>
182+ <output-dir>.\Debug</output-dir>
183+ </file-configuration>
184+ <file-configuration name="Release">
185+ <excluded-flag value="no"/>
186+ <build-with-flag value="project"/>
187+ <intermediate-dir>.\Release</intermediate-dir>
188+ <output-dir>.\Release</output-dir>
189+ </file-configuration>
190+ </file-configurations>
191+ </file>
192+ <file name="..\..\..\systask\serial.c">
193+ <file-configurations>
194+ <file-configuration name="Debug">
195+ <excluded-flag value="no"/>
196+ <build-with-flag value="project"/>
197+ <intermediate-dir>.\Debug</intermediate-dir>
198+ <output-dir>.\Debug</output-dir>
199+ </file-configuration>
200+ <file-configuration name="Release">
201+ <excluded-flag value="no"/>
202+ <build-with-flag value="project"/>
203+ <intermediate-dir>.\Release</intermediate-dir>
204+ <output-dir>.\Release</output-dir>
205+ </file-configuration>
206+ </file-configurations>
207+ </file>
208+ </files>
209+ </folder>
210+ </folders>
211+ <!-- Files under root directly -->
212+ <files>
213+ <file name=".\readme.txt">
214+ </file>
215+ <file name=".\sample1.cfg">
216+ </file>
217+ </files>
218+ <!-- System Builder Components -->
219+ <system-builder-component-tables>
220+ <system-builder-plugin name="Startup Code Wizard" version="2.0">
221+ <system-builder-component name="Linker Options">
222+ <property name="Search Directory"><![CDATA[]]></property>
223+ </system-builder-component>
224+ <system-builder-component name="Program Running From">
225+ <property name="Internal Memory"><![CDATA[True]]></property>
226+ </system-builder-component>
227+ <system-builder-component name="Project Options">
228+ <property name="Compiler Multicore"><![CDATA[False]]></property>
229+ <property name="Configuration"><![CDATA[Release]]></property>
230+ <property name="Full IO"><![CDATA[False]]></property>
231+ <property name="Intermediate Directory"><![CDATA[.\Release]]></property>
232+ <property name="Link against MT libraries"><![CDATA[False]]></property>
233+ <property name="Linker Multicore"><![CDATA[False]]></property>
234+ <property name="Name"><![CDATA[sample1_acb_bf592]]></property>
235+ <property name="Processor"><![CDATA[ADSP-BF592-A]]></property>
236+ <property name="Silicon Revision"><![CDATA[Automatic]]></property>
237+ <property name="Strict IEEE Floating Point Compliance"><![CDATA[False]]></property>
238+ <property name="Use C++ exceptions libraries"><![CDATA[False]]></property>
239+ <property name="Utility ROM"><![CDATA[True]]></property>
240+ </system-builder-component>
241+ </system-builder-plugin>
242+ </system-builder-component-tables>
243+</visualdsp-project>
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/sample1.h
@@ -0,0 +1,215 @@
1+/*
2+ * TOPPERS/JSP Kernel
3+ * Toyohashi Open Platform for Embedded Real-Time Systems/
4+ * Just Standard Profile Kernel
5+ *
6+ * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7+ * Toyohashi Univ. of Technology, JAPAN
8+ * Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
9+ * Graduate School of Information Science, Nagoya Univ., JAPAN
10+ *
11+ * 上記著作権者は,以下の (1)縲・4) の条件か,Free Software Foundation
12+ * によって公表されている GNU General Public License の Version 2 に記
13+ * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
14+ * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
15+ * 利用と呼ぶ)することを無償で許諾する.
16+ * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17+ * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18+ * スコード中に含まれていること.
19+ * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20+ * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
21+ * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
22+ * の無保証規定を掲載すること.
23+ * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24+ * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
25+ * と.
26+ * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
27+ * 作権表示,この利用条件および下記の無保証規定を掲載すること.
28+ * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
29+ * 報告すること.
30+ * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
31+ * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
32+ *
33+ * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
34+ * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
35+ * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
36+ * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
37+ *
38+ * @(#) $Id: sample1.h,v 1.1 2012/07/20 07:36:00 maduki Exp $
39+ */
40+
41+/*
42+ * サンプルプログラム(1)のヘッダファイル
43+ */
44+
45+#include <t_services.h>
46+
47+/*
48+ * 各タスクの優先度の定義
49+ */
50+
51+#define MAIN_PRIORITY 5 /* メインタスクの優先度 */
52+ /* HIGH_PRIORITY より高くすること */
53+
54+#define HIGH_PRIORITY 9 /* 並列に実行されるタスクの優先度 */
55+#define MID_PRIORITY 10
56+#define LOW_PRIORITY 11
57+
58+/*
59+ * ターゲット依存の定義(CPU例外ハンドラの起動方法など)
60+ */
61+
62+#ifdef M68K
63+
64+#define CPUEXC1 5 /* ゼロ除算例外 */
65+#define RAISE_CPU_EXCEPTION syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
66+
67+#elif defined(SH3)
68+
69+#define CPUEXC1 224 /* ロードエラー例外 */
70+#define RAISE_CPU_EXCEPTION (*((volatile int *) 0xFFFFFEC1))
71+
72+#elif defined(SH1)
73+
74+#define CPUEXC1 9 /* CPUアドレスエラー例外 */
75+#define RAISE_CPU_EXCEPTION (*((volatile int *) 0xFFFFFEC1))
76+#ifdef TOKIWA_SH1
77+#define STACK_SIZE 512 /* タスクのスタックサイズ */
78+#endif /* TOKIWA_SH1 */
79+
80+#elif defined(ARMV4)
81+
82+#define CPUEXC1 4 /* ロードエラー例外 */
83+#define RAISE_CPU_EXCEPTION (*((volatile int *) 0xFFFFFEC1))
84+
85+#elif defined(V850)
86+
87+#elif defined(H8)
88+
89+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
90+
91+#elif defined(H8S)
92+
93+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
94+#define LOOP_REF 4000L /* 速度計測用のループ回数 */
95+
96+#elif defined(MICROBLAZE)
97+
98+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
99+#define STACK_SIZE 2048 /* タスクのスタックサイズ */
100+
101+#elif defined(IA32)
102+
103+#define CPUEXC1 0 /* ゼロ除算例外 */
104+#define RAISE_CPU_EXCEPTION syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
105+#define OMIT_VGET_TIM
106+
107+#elif defined(TMS320C54X)
108+
109+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
110+#define STACK_SIZE 320 /* タスクのスタックサイズ */
111+#define LOOP_REF 500000L /* 速度計測用のループ回数 */
112+
113+#elif defined(XSTORMY16)
114+
115+#define CPUEXC1 0 /* 無効命令例外 */
116+#define RAISE_CPU_EXCEPTION __asm__( ".hword 0x0006" )
117+#define OMIT_VGET_TIM /* vxget_tim()は非サポート */
118+#define LOOP_REF 4000L /* 速度計測用のループ回数 */
119+#define STACK_SIZE 256 /* タスクのスタックサイズ */
120+#define TASK_PORTID 2 /* SIOはポート2を用いる */
121+
122+#elif defined(MIPS3) || defined(MIPS64)
123+
124+#define CPUEXC1 Bp /* ブレークポイント例外(ゼロ除算時に発生) */
125+#define RAISE_CPU_EXCEPTION syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
126+
127+#elif defined(M16C) && defined(OAKS16)
128+
129+#define CPUEXC1 32 /* CPU例外ハンドラ番号 */
130+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ソフトウェア割込み発生 */
131+#define STACK_SIZE 512 /* タスクのスタックサイズ */
132+#define TASK_PORTID 2 /* 文字入力するシリアルポートID */
133+
134+#elif defined(M16C) && defined(OAKS16_MINI)
135+
136+#define CPUEXC1 32 /* CPU例外ハンドラ番号 */
137+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ソフトウェア割込み発生 */
138+#define STACK_SIZE 384 /* タスクのスタックサイズ */
139+#define TASK_PORTID 2 /* 文字入力するシリアルポートID */
140+
141+#elif defined(M16C) && defined(M3029)
142+
143+#define CPUEXC1 32 /* CPU例外ハンドラ番号 */
144+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ソフトウェア割込み発生 */
145+#define STACK_SIZE 512 /* タスクのスタックサイズ */
146+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
147+
148+#elif defined(BLACKFIN)
149+
150+#define CPUEXC1 0 /* CPU例外ハンドラ番号 */
151+#define RAISE_CPU_EXCEPTION asm("excpt 0;") /* ソフトウェア割込み発生 */
152+#define STACK_SIZE 1024 /* タスクのスタックサイズ */
153+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
154+
155+#elif defined(LINUX)
156+
157+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
158+#define OMIT_VGET_TIM
159+#define LOOP_REF 4000000 /* 速度計測用のループ回数 */
160+
161+#elif defined(NIOS2)
162+
163+#define CPUEXC1 0 /* 未実装命令例外 */
164+#define RAISE_CPU_EXCEPTION Asm("div zero, zero, zero");
165+
166+#elif defined(M32C)
167+
168+#define CPUEXC1 32 /* CPU例外ハンドラ番号 */
169+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ソフトウェア割込み発生 */
170+#define STACK_SIZE 512 /* タスクのスタックサイズ */
171+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
172+
173+#elif defined(M32R)
174+
175+#define CPUEXC1 EXC_TRAP00
176+#define RAISE_CPU_EXCEPTION Asm("trap 0")
177+
178+#elif defined(TLCS_900) && defined(ZUP_F16_EX)
179+
180+#define CPUEXC1 3 /* CPU例外ハンドラ番号 */
181+#define RAISE_CPU_EXCEPTION Asm(" swi 2") /* ソフトウェア割込み発生 */
182+#define STACK_SIZE 512 /* タスクのスタックサイズ */
183+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
184+#define OMIT_VGET_TIM
185+
186+#endif
187+
188+/*
189+ * ターゲットに依存する可能性のある定数の定義
190+ */
191+
192+#ifndef TASK_PORTID
193+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
194+#endif /* TASK_PORTID */
195+
196+#ifndef STACK_SIZE
197+#define STACK_SIZE 8192 /* タスクのスタックサイズ */
198+#endif /* STACK_SIZE */
199+
200+#ifndef LOOP_REF
201+#define LOOP_REF 1000000 /* 速度計測用のループ回数 */
202+#endif /* LOOP_REF */
203+
204+/*
205+ * 関数のプロトタイプ宣言
206+ */
207+#ifndef _MACRO_ONLY
208+
209+extern void task(VP_INT tskno);
210+extern void main_task(VP_INT exinf);
211+extern void tex_routine(TEXPTN texptn, VP_INT tskno);
212+extern void cyclic_handler(VP_INT exinf);
213+extern void cpuexc_handler(VP p_excinf);
214+
215+#endif /* _MACRO_ONLY */
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/sample1.ldf
@@ -0,0 +1,406 @@
1+/* MANAGED-BY-SYSTEM-BUILDER */
2+/* VisualDSP++ 5.0 Update 10 */
3+/* LDF Printer version: 5.9.0.1 */
4+/* ldfgen.exe version: 5.9.0.1 */
5+/* VDSG version: 5.9.0.1 */
6+
7+/*
8+** ADSP-BF592-A linker description file generated on Jul 20, 2012 at 15:59:24.
9+**
10+** Copyright (C) 2000-2010 Analog Devices Inc., All Rights Reserved.
11+**
12+** This file is generated automatically based upon the options selected
13+** in the LDF Wizard. Changes to the LDF configuration should be made by
14+** changing the appropriate options rather than editing this file.
15+**
16+** Configuration:-
17+** crt_doj: sample1_acb_bf592_basiccrt.doj
18+** processor: ADSP-BF592-A
19+** product_name: VisualDSP++ 5.0 Update 10
20+** si_revision: automatic
21+** default_silicon_revision_from_archdef: 0.2
22+** using_cplusplus: true
23+** mem_init: false
24+** use_vdk: false
25+** use_mt: false
26+** use_eh: true
27+** use_argv: true
28+** running_from_internal_memory: true
29+** user_heap_src_file: X:\Work\jsp\tools\blackfin-vdsp\sample1_acb_bf592\sample1_acb_bf592_heaptab.c
30+** libraries_use_stdlib: true
31+** libraries_use_fileio_libs: false
32+** libraries_use_ieeefp_emulation_libs: false
33+** libraries_use_eh_enabled_libs: false
34+** libraries_use_fixed_point_io_libs: false
35+** libraries_use_utility_rom: true
36+** detect_stackoverflow: false
37+** system_heap: L1
38+** system_heap_min_size: 2k
39+** system_stack: L1
40+** system_stack_min_size: 2k
41+** use_sdram: false
42+**
43+*/
44+
45+ARCHITECTURE(ADSP-BF592-A)
46+
47+SEARCH_DIR($ADI_DSP/Blackfin/lib)
48+
49+
50+#if !defined(NO_UTILITY_ROM)
51+# if defined(__SILICON_REVISION__) && (__SILICON_REVISION__==0)
52+# warning there is no Utility ROM in revision 0.0
53+# define NO_UTILITY_ROM
54+# elif !defined(__SILICON_REVISION__) || (__SILICON_REVISION__==0xffff)
55+# warning \
56+ The Tools Utility ROM will not be used to link this application because \
57+the silicon revision does not specify a specific revision number. This message \
58+may be suppressed by defining the LDF macro NO_UTILITY_ROM.
59+# define NO_UTILITY_ROM
60+# endif
61+#endif
62+
63+
64+// Workarounds are enabled, exceptions are disabled.
65+#define RT_LIB_NAME(x) lib ## x ## y.dlb
66+#define RT_LIB_NAME_EH(x) lib ## x ## y.dlb
67+#define RT_LIB_NAME_MT(x) lib ## x ## y.dlb
68+#define RT_LIB_NAME_EH_MT(x) lib ## x ## y.dlb
69+#define RT_OBJ_NAME(x) x ## y.doj
70+#define RT_OBJ_NAME_MT(x) x ## mty.doj
71+
72+
73+$LIBRARIES =
74+
75+/*$VDSG<insert-user-libraries-at-beginning> */
76+/* Text inserted between these $VDSG comments will be preserved */
77+/*$VDSG<insert-user-libraries-at-beginning> */
78+
79+ RT_LIB_NAME_MT(small532)
80+ ,RT_LIB_NAME_MT(io532)
81+ ,RT_LIB_NAME_MT(c532)
82+ ,RT_LIB_NAME_MT(event532)
83+ ,RT_LIB_NAME(ssl592-a)
84+ ,RT_LIB_NAME(drv592-a)
85+ ,RT_LIB_NAME_MT(x532)
86+ ,RT_LIB_NAME_EH_MT(cpp532)
87+ ,RT_LIB_NAME(f64ieee532)
88+ ,RT_LIB_NAME(dsp532)
89+ ,RT_LIB_NAME(sftflt532)
90+ ,RT_LIB_NAME(etsi532)
91+ ,RT_OBJ_NAME_MT(idle532)
92+ ,RT_LIB_NAME_MT(rt_fileio532)
93+
94+/*$VDSG<insert-user-libraries-at-end> */
95+/* Text inserted between these $VDSG comments will be preserved */
96+/*$VDSG<insert-user-libraries-at-end> */
97+
98+ ;
99+
100+$OBJECTS =
101+
102+/*$VDSG<insert-user-objects-at-beginning> */
103+/* Text inserted between these $VDSG comments will be preserved */
104+/*$VDSG<insert-user-objects-at-beginning> */
105+
106+ $COMMAND_LINE_OBJECTS
107+ , RT_LIB_NAME(profile532)
108+#if !defined(NO_UTILITY_ROM)
109+ , romdata-BF592-A.doj
110+#endif
111+ , $COMMAND_LINE_OBJECTS
112+ , "cplbtab592-a.doj"
113+
114+/*$VDSG<insert-user-objects-at-end> */
115+/* Text inserted between these $VDSG comments will be preserved */
116+/*$VDSG<insert-user-objects-at-end> */
117+
118+ , RT_OBJ_NAME(crtn532)
119+ ;
120+
121+$OBJS_LIBS_INTERNAL =
122+
123+/*$VDSG<insert-libraries-internal> */
124+/* Text inserted between these $VDSG comments will be preserved */
125+/*$VDSG<insert-libraries-internal> */
126+
127+ $OBJECTS{prefersMem("internal")}, $LIBRARIES{prefersMem("internal")}
128+
129+/*$VDSG<insert-libraries-internal-end> */
130+/* Text inserted between these $VDSG comments will be preserved */
131+/*$VDSG<insert-libraries-internal-end> */
132+
133+ ;
134+
135+$OBJS_LIBS_NOT_EXTERNAL =
136+
137+/*$VDSG<insert-libraries-not-external> */
138+/* Text inserted between these $VDSG comments will be preserved */
139+/*$VDSG<insert-libraries-not-external> */
140+
141+ $OBJECTS{!prefersMem("external")}, $LIBRARIES{!prefersMem("external")}
142+
143+/*$VDSG<insert-libraries-not-external-end> */
144+/* Text inserted between these $VDSG comments will be preserved */
145+/*$VDSG<insert-libraries-not-external-end> */
146+
147+ ;
148+
149+
150+/*$VDSG<insert-user-macros> */
151+/* Text inserted between these $VDSG comments will be preserved */
152+/*$VDSG<insert-user-macros> */
153+
154+
155+MEMORY
156+{
157+/*
158+** ADSP-BF592-A MEMORY MAP.
159+**
160+** The known memory spaces are as follows:
161+**
162+** 0xFFE00000 - 0xFFFFFFFF Core MMR registers (2MB)
163+** 0xFFC00000 - 0xFFDFFFFF System MMR registers (2MB)
164+** 0xFFB01000 - 0xFFBFFFFF Reserved
165+** 0xFFB00000 - 0xFFB00FFF Scratchpad SRAM (4K)
166+** 0xFFA20000 - 0xFFAFFFFF Reserved
167+** 0xFFA10000 - 0xFFA1FFFF L1 Instruction ROM (64K)
168+** 0xFFA08000 - 0xFFA0FFFF Reserved
169+** 0xFFA00000 - 0xFFA07FFF L1 Instruction SRAM (32K)
170+** 0xFF808000 - 0xFF9FFFFF Reserved
171+** 0xFF800000 - 0xFF807FFF L1 Data SRAM (32K)
172+** 0xEF001000 - 0xFF7FFFFF Reserved
173+** 0xEF000000 - 0xEF000FFF Boot ROM (4K)
174+** 0x00000000 - 0xEEFFFFFF Reserved
175+**
176+** Notes:
177+** 0xFF807FEF-0xFF807FFF Required by boot-loader.
178+*/
179+
180+ MEM_L1_SCRATCH { TYPE(RAM) START(0xFFB00000) END(0xFFB00FFF) WIDTH(8) }
181+ MEM_L1_CODE { TYPE(RAM) START(0xFFA00000) END(0xFFA07FFF) WIDTH(8) }
182+ MEM_L1_DATA { TYPE(RAM) START(0xFF800000) END(0xFF807EAF) WIDTH(8) }
183+ MEM_ARGV { TYPE(RAM) START(0xFF807EB0) END(0xFF807FFF) WIDTH(8) }
184+
185+ /*$VDSG<insert-new-memory-segments> */
186+ /* Text inserted between these $VDSG comments will be preserved */
187+ /*$VDSG<insert-new-memory-segments> */
188+
189+} /* MEMORY */
190+
191+PROCESSOR p0
192+{
193+ OUTPUT($COMMAND_LINE_OUTPUT_FILE)
194+ RESOLVE(start, 0xFFA00000)
195+ RESOLVE(___argv_string, 0xFF807F00)
196+ KEEP(start, start)
197+
198+ /*$VDSG<insert-user-utility-rom-start> */
199+ /* Text inserted between these $VDSG comments will be preserved */
200+ /*$VDSG<insert-user-utility-rom-start> */
201+
202+ #if !defined(NO_UTILITY_ROM)
203+ #include "ADSP-BF592-A-LDF.h"
204+ #endif
205+
206+ /*$VDSG<insert-user-utility-rom-end> */
207+ /* Text inserted between these $VDSG comments will be preserved */
208+ /*$VDSG<insert-user-utility-rom-end> */
209+
210+
211+ /*$VDSG<insert-user-ldf-commands> */
212+ /* Text inserted between these $VDSG comments will be preserved */
213+ /*$VDSG<insert-user-ldf-commands> */
214+
215+ SECTIONS
216+ {
217+ /* Workaround for hardware errata 05-00-0189 and 05-00-0310 -
218+ ** "Speculative (and fetches made at boundary of reserved memory
219+ ** space) for instruction or data fetches may cause false
220+ ** protection exceptions" and "False hardware errors caused by
221+ ** fetches at the boundary of reserved memory ".
222+ **
223+ ** Done by avoiding use of 76 bytes from at the end of blocks
224+ ** that are adjacent to reserved memory. Workaround is enabled
225+ ** for appropriate silicon revisions (-si-revision switch).
226+ */
227+ RESERVE(___wab0=MEMORY_END(MEM_L1_SCRATCH) - 75, ___l0 = 76)
228+ RESERVE(___wab1=MEMORY_END(MEM_L1_CODE) - 75, ___l1 = 76)
229+ RESERVE(___wab2=MEMORY_END(MEM_ARGV) - 75, ___l2 = 76)
230+
231+ /*$VDSG<insert-new-sections-at-the-start> */
232+ /* Text inserted between these $VDSG comments will be preserved */
233+ /*$VDSG<insert-new-sections-at-the-start> */
234+
235+ scratchpad NO_INIT
236+ {
237+ INPUT_SECTION_ALIGN(4)
238+
239+ /*$VDSG<insert-input-sections-at-the-start-of-scratchpad> */
240+ /* Text inserted between these $VDSG comments will be preserved */
241+ /*$VDSG<insert-input-sections-at-the-start-of-scratchpad> */
242+
243+ INPUT_SECTIONS($OBJECTS(L1_scratchpad) $LIBRARIES(L1_scratchpad))
244+
245+ /*$VDSG<insert-input-sections-at-the-end-of-scratchpad> */
246+ /* Text inserted between these $VDSG comments will be preserved */
247+ /*$VDSG<insert-input-sections-at-the-end-of-scratchpad> */
248+
249+ } > MEM_L1_SCRATCH
250+
251+ L1_code
252+ {
253+ INPUT_SECTION_ALIGN(4)
254+
255+ /*$VDSG<insert-input-sections-at-the-start-of-L1_code> */
256+ /* Text inserted between these $VDSG comments will be preserved */
257+ /*$VDSG<insert-input-sections-at-the-start-of-L1_code> */
258+
259+ INPUT_SECTIONS($OBJECTS(L1_code) $LIBRARIES(L1_code))
260+
261+ /*$VDSG<insert-input-sections-in-the-middle-of-L1_code> */
262+ /* Text inserted between these $VDSG comments will be preserved */
263+ /*$VDSG<insert-input-sections-in-the-middle-of-L1_code> */
264+
265+ INPUT_SECTIONS($OBJECTS(noncache_code) $LIBRARIES(noncache_code))
266+ INPUT_SECTIONS($OBJECTS(cplb_code) $LIBRARIES(cplb_code))
267+ INPUT_SECTIONS($OBJECTS(cplb) $LIBRARIES(cplb))
268+ INPUT_SECTIONS($OBJS_LIBS_INTERNAL(program))
269+ INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(program))
270+ INPUT_SECTIONS($OBJECTS(program) $LIBRARIES(program))
271+
272+ /*$VDSG<insert-input-sections-at-the-end-of-L1_code> */
273+ /* Text inserted between these $VDSG comments will be preserved */
274+ /*$VDSG<insert-input-sections-at-the-end-of-L1_code> */
275+
276+ } > MEM_L1_CODE
277+
278+ L1_data_1
279+ {
280+ INPUT_SECTION_ALIGN(4)
281+ ___l1_data_cache_a = 0;
282+ ___l1_data_cache_b = 0;
283+
284+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_1> */
285+ /* Text inserted between these $VDSG comments will be preserved */
286+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_1> */
287+
288+ INPUT_SECTIONS($OBJECTS(L1_data_a) $LIBRARIES(L1_data_a))
289+ INPUT_SECTIONS($OBJECTS(L1_data) $LIBRARIES(L1_data))
290+
291+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_1> */
292+ /* Text inserted between these $VDSG comments will be preserved */
293+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_1> */
294+
295+ RESERVE(heaps_and_stack_in_L1_data, heaps_and_stack_in_L1_data_length = 4096,4)
296+ } > MEM_L1_DATA
297+
298+ L1_data_bsz ZERO_INIT
299+ {
300+ INPUT_SECTION_ALIGN(4)
301+
302+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_bsz> */
303+ /* Text inserted between these $VDSG comments will be preserved */
304+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_bsz> */
305+
306+ INPUT_SECTIONS($OBJECTS(L1_bsz) $LIBRARIES(L1_bsz))
307+ INPUT_SECTIONS($OBJS_LIBS_INTERNAL(bsz))
308+ INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(bsz))
309+ INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz))
310+
311+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_bsz> */
312+ /* Text inserted between these $VDSG comments will be preserved */
313+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_bsz> */
314+
315+ } > MEM_L1_DATA
316+
317+ L1_data_tables
318+ {
319+ INPUT_SECTION_ALIGN(4)
320+ FORCE_CONTIGUITY
321+
322+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_tables> */
323+ /* Text inserted between these $VDSG comments will be preserved */
324+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_tables> */
325+
326+ INPUT_SECTIONS($OBJECTS(ctor) $LIBRARIES(ctor))
327+ INPUT_SECTIONS($OBJECTS(ctorl) $LIBRARIES(ctorl))
328+
329+ /*$VDSG<insert-input-sections-in-the-middle-of-L1_data_tables> */
330+ /* Text inserted between these $VDSG comments will be preserved */
331+ /*$VDSG<insert-input-sections-in-the-middle-of-L1_data_tables> */
332+
333+ INPUT_SECTIONS($OBJECTS(.gdt) $LIBRARIES(.gdt))
334+ INPUT_SECTIONS($OBJECTS(.gdtl) $LIBRARIES(.gdtl))
335+ INPUT_SECTIONS($OBJECTS(.frt) $LIBRARIES(.frt))
336+
337+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_tables> */
338+ /* Text inserted between these $VDSG comments will be preserved */
339+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_tables> */
340+
341+ } > MEM_L1_DATA
342+
343+ L1_data_2
344+ {
345+ INPUT_SECTION_ALIGN(4)
346+
347+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_2> */
348+ /* Text inserted between these $VDSG comments will be preserved */
349+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_2> */
350+
351+ INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
352+ INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
353+ INPUT_SECTIONS($OBJECTS(cplb_data) $LIBRARIES(cplb_data))
354+ INPUT_SECTIONS($OBJS_LIBS_INTERNAL(data1))
355+ INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(data1))
356+ INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
357+
358+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_2> */
359+ /* Text inserted between these $VDSG comments will be preserved */
360+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_2> */
361+
362+ } > MEM_L1_DATA
363+
364+ L1_data_3
365+ {
366+ INPUT_SECTION_ALIGN(4)
367+
368+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_3> */
369+ /* Text inserted between these $VDSG comments will be preserved */
370+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_3> */
371+
372+ INPUT_SECTIONS($OBJECTS(vtbl) $LIBRARIES(vtbl))
373+ INPUT_SECTIONS($OBJECTS(.rtti) $LIBRARIES(.rtti))
374+ INPUT_SECTIONS($OBJECTS(.edt) $LIBRARIES(.edt))
375+ INPUT_SECTIONS($OBJECTS(.cht) $LIBRARIES(.cht))
376+
377+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_3> */
378+ /* Text inserted between these $VDSG comments will be preserved */
379+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_3> */
380+
381+ } > MEM_L1_DATA
382+
383+ L1_data_stack_heap
384+ {
385+ INPUT_SECTION_ALIGN(4)
386+
387+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_stack_heap> */
388+ /* Text inserted between these $VDSG comments will be preserved */
389+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_stack_heap> */
390+
391+ RESERVE_EXPAND(heaps_and_stack_in_L1_data, heaps_and_stack_in_L1_data_length , 0, 4)
392+ ldf_stack_space = heaps_and_stack_in_L1_data;
393+ ldf_stack_end = (ldf_stack_space + (((heaps_and_stack_in_L1_data_length * 2048) / 4096) - 4)) & 0xfffffffc;
394+ ldf_heap_space = ldf_stack_end + 4;
395+ ldf_heap_end = (ldf_heap_space + (((heaps_and_stack_in_L1_data_length * 2048) / 4096) - 4)) & 0xfffffffc;
396+ ldf_heap_length = ldf_heap_end - ldf_heap_space;
397+ } > MEM_L1_DATA
398+
399+
400+ /*$VDSG<insert-new-sections-at-the-end> */
401+ /* Text inserted between these $VDSG comments will be preserved */
402+ /*$VDSG<insert-new-sections-at-the-end> */
403+
404+ } /* SECTIONS */
405+} /* p0 */
406+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_acb_bf592/sample1_acb_bf592.dpg
@@ -0,0 +1,12 @@
1+<?xml version="1.0" encoding='ISO-8859-1'?>
2+<visualdsp-project-group generated="Fri Jul 20 16:30:39 2012" version="1.0.0.0" active-project="sample1_acb_bf592">
3+ <project name="libkernel" file="..\..\..\config\blackfin\acb_bf592\jsp_acb_bf592.dpj">
4+ </project>
5+ <project name="makeoffset" file="..\..\..\utils\blackfin-vdsp\makeoffset.dpj">
6+ </project>
7+ <project name="sample1_acb_bf592" file=".\sample1.dpj">
8+ <dependencies>
9+ <dependent-project>libkernel</dependent-project>
10+ </dependencies>
11+ </project>
12+</visualdsp-project-group>
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf506/chip_dump_empty.c
@@ -0,0 +1,37 @@
1+/**
2+ * \file chip_dump_dummy.c
3+* \brief ADSP-BF506用のポストモーテムダンプルーチン群(ダミー)
4+ *
5+ * chip_dump.cはコードサイズが大きく、例外時にしか必要としない機能のため、
6+ * sample1では機能を無効にしてフットプリントを少なくしている
7+ * chip_dump.cを使用する場合、chip_dump.cのみFLASHに配置するなど対策が必要
8+ */
9+#include "jsp_kernel.h"
10+
11+/**
12+ * \brief ハードウェア・エラー・ハンドラ
13+ *
14+ * ハードウェア・エラー時に呼び出されて、ハードウェア・エラー・割り込みのポストモーテム処理を行う。
15+ * 最初にFPを手繰って、割り込みのスタックフレームを探す。次にすべての割り込みを禁止し、
16+ * UART0を占有したあと、ポーリングを使ってスタックに保存された各レジスタのダンプを行う。
17+ * DEF_INH(INHNO_HW_ERROR, { TA_HLNG, hwei_handler });
18+ *
19+ */
20+void spurious_int_handler()
21+{
22+}
23+
24+/**
25+ * \brief CPU例外ハンドラ
26+ *
27+ * CPU例外ハンドラとしてcfgファイルに登録する。 hwei_handler()は呼ばれたら戻ってこないが、
28+ * そのあとにもexpFlagに値を代入しているのは、最適化によってunlink命令の値がルーチン呼び出しの
29+ * 前に移動することを防ぐためである。
30+ *
31+ * DEF_EXC(CPUEXC1, { TA_HLNG, excp_handler} );
32+ *
33+ */
34+void spurious_exc_handler(VP p_excinf)
35+{
36+}
37+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/chip_dump_empty.c
@@ -0,0 +1,38 @@
1+/**
2+ * \file chip_dump_dummy.c
3+* \brief ADSP-BF518用のポストモーテムダンプルーチン群(ダミー)
4+ *
5+ * chip_dump.cはコードサイズが大きく、例外時にしか必要としない機能のため、
6+ * sample1では機能を無効にしてフットプリントを少なくしている
7+ * chip_dump.cを使用する場合、chip_dump.cのみSDRAMに配置するなど対策が必要
8+ */
9+#include "jsp_kernel.h"
10+#include <cdefBF518.h>
11+
12+/**
13+ * \brief ハードウェア・エラー・ハンドラ
14+ *
15+ * ハードウェア・エラー時に呼び出されて、ハードウェア・エラー・割り込みのポストモーテム処理を行う。
16+ * 最初にFPを手繰って、割り込みのスタックフレームを探す。次にすべての割り込みを禁止し、
17+ * UART0を占有したあと、ポーリングを使ってスタックに保存された各レジスタのダンプを行う。
18+ * DEF_INH(INHNO_HW_ERROR, { TA_HLNG, hwei_handler });
19+ *
20+ */
21+void spurious_int_handler()
22+{
23+}
24+
25+/**
26+ * \brief CPU例外ハンドラ
27+ *
28+ * CPU例外ハンドラとしてcfgファイルに登録する。 hwei_handler()は呼ばれたら戻ってこないが、
29+ * そのあとにもexpFlagに値を代入しているのは、最適化によってunlink命令の値がルーチン呼び出しの
30+ * 前に移動することを防ぐためである。
31+ *
32+ * DEF_EXC(CPUEXC1, { TA_HLNG, excp_handler} );
33+ *
34+ */
35+void spurious_exc_handler(VP p_excinf)
36+{
37+}
38+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/config.bat
@@ -0,0 +1,17 @@
1+rem APPNAME アプリケーション名
2+rem CFGPATH cfg.exeが置いてあるディレクトリ
3+rem VDSPPATH VisualDSP++のインストールディレクトリ
4+rem JSPPATH TOPPERS/JSPのディレクトリ
5+rem CPATH Blackfin CPU依存部のディレクトリ
6+rem SPATH システム依存部のディレクトリ
7+
8+set APPNAME=sample1
9+set CFGPATH=X:\Work\jsp\cfg
10+set VDSPPATH=C:\Program Files\Analog Devices\VisualDSP 5.0
11+set JSPPATH=X:\Work\jsp
12+set CPATH=%JSPPATH%\config\blackfin
13+set SPATH=%CPATH%\ezkit_bf518;%CPATH%\_common_bf518
14+
15+"%VDSPPATH%\pp.exe" %APPNAME%.cfg -D__ECC__ -D__ADSPLPBLACKFIN__ -I"%CPATH%;%SPATH%;%JSPPATH%\systask;%JSPPATH%\include;" > %APPNAME%_pp.cfg
16+"%CFGPATH%\cfg.exe" %APPNAME%_pp.cfg
17+del %APPNAME%_pp.cfg
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/kernel_cfg.c
@@ -0,0 +1,181 @@
1+/* Configured with [sample1_pp.cfg ] */
2+
3+#include "kernel_cfg.h"
4+#include "kernel_id.h"
5+
6+#if TKERNEL_PRVER >= 0x1040
7+#define CFG_INTHDR_ENTRY(inthdr) INTHDR_ENTRY(inthdr)
8+#define CFG_EXCHDR_ENTRY(exchdr) EXCHDR_ENTRY(exchdr)
9+#define CFG_INT_ENTRY(inthdr) INT_ENTRY(inthdr)
10+#define CFG_EXC_ENTRY(exchdr) EXC_ENTRY(exchdr)
11+#else
12+#error "This configuration file has no compatibility with TOPPERS/JSP rel 1.3 or earlier."
13+#endif
14+
15+#ifndef __EMPTY_LABEL
16+#define __EMPTY_LABEL(x,y) x y[0]
17+#endif
18+
19+#if TKERNEL_PRID != 0x0001u /* TOPPERS/JSP */
20+#error "You can not use this configuration file without TOPPERS/JSP"
21+#endif
22+
23+ /* User specified include files*/
24+#include "sample1.h"
25+#include "hw_timer.h"
26+#include "timer.h"
27+#include "hw_serial.h"
28+#include "serial.h"
29+#include "logtask.h"
30+
31+
32+ /* Object initializer [task] */
33+
34+#define TNUM_TSKID 5
35+
36+const ID _kernel_tmax_tskid = (TMIN_TSKID + TNUM_TSKID - 1);
37+
38+static __STK_UNIT __stack_TASK1[__TCOUNT_STK_UNIT(1024)];
39+static __STK_UNIT __stack_TASK2[__TCOUNT_STK_UNIT(1024)];
40+static __STK_UNIT __stack_TASK3[__TCOUNT_STK_UNIT(1024)];
41+static __STK_UNIT __stack_MAIN_TASK[__TCOUNT_STK_UNIT(1024)];
42+static __STK_UNIT __stack_LOGTASK[__TCOUNT_STK_UNIT(LOGTASK_STACK_SIZE)];
43+
44+const TINIB _kernel_tinib_table[TNUM_TSKID] = {
45+ {0, (VP_INT)(( VP_INT ) 1), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(1024), __stack_TASK1, 0, (FP)(tex_routine)},
46+ {0, (VP_INT)(( VP_INT ) 2), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(1024), __stack_TASK2, 0, (FP)(tex_routine)},
47+ {0, (VP_INT)(( VP_INT ) 3), (FP)(task), INT_PRIORITY(10), __TROUND_STK_UNIT(1024), __stack_TASK3, 0, (FP)(tex_routine)},
48+ {0x00u | 0x02u, (VP_INT)(0), (FP)(main_task), INT_PRIORITY(5), __TROUND_STK_UNIT(1024), __stack_MAIN_TASK, TA_NULL, (FP)(NULL)},
49+ {0x00u | 0x02u, (VP_INT)(( VP_INT ) 1), (FP)(logtask), INT_PRIORITY(LOGTASK_PRIORITY), __TROUND_STK_UNIT(LOGTASK_STACK_SIZE), __stack_LOGTASK, TA_NULL, (FP)(NULL)}
50+};
51+
52+const ID _kernel_torder_table[TNUM_TSKID] = {1,2,3,4,5};
53+
54+TCB _kernel_tcb_table[TNUM_TSKID];
55+
56+
57+ /* Object initializer [semaphore] */
58+
59+#define TNUM_SEMID 2
60+
61+const ID _kernel_tmax_semid = (TMIN_SEMID + TNUM_SEMID - 1);
62+
63+const SEMINIB _kernel_seminib_table[TNUM_SEMID] = {
64+ {1, 0, 1},
65+ {1, 1, 1}
66+};
67+
68+SEMCB _kernel_semcb_table[TNUM_SEMID];
69+
70+
71+ /* Object initializer [eventflag] */
72+
73+#define TNUM_FLGID 0
74+
75+const ID _kernel_tmax_flgid = (TMIN_FLGID + TNUM_FLGID - 1);
76+
77+__EMPTY_LABEL(const FLGINIB, _kernel_flginib_table);
78+__EMPTY_LABEL(FLGCB, _kernel_flgcb_table);
79+
80+
81+ /* Object initializer [dataqueue] */
82+
83+#define TNUM_DTQID 0
84+
85+const ID _kernel_tmax_dtqid = (TMIN_DTQID + TNUM_DTQID - 1);
86+
87+__EMPTY_LABEL(const DTQINIB, _kernel_dtqinib_table);
88+__EMPTY_LABEL(DTQCB, _kernel_dtqcb_table);
89+
90+
91+ /* Object initializer [mailbox] */
92+
93+#define TNUM_MBXID 0
94+
95+const ID _kernel_tmax_mbxid = (TMIN_MBXID + TNUM_MBXID - 1);
96+
97+__EMPTY_LABEL(const MBXINIB, _kernel_mbxinib_table);
98+__EMPTY_LABEL(MBXCB, _kernel_mbxcb_table);
99+
100+
101+ /* Object initializer [mempfix] */
102+
103+#define TNUM_MPFID 0
104+
105+const ID _kernel_tmax_mpfid = (TMIN_MPFID + TNUM_MPFID - 1);
106+
107+__EMPTY_LABEL(const MPFINIB, _kernel_mpfinib_table);
108+__EMPTY_LABEL(MPFCB, _kernel_mpfcb_table);
109+
110+
111+ /* Object initializer [cyclic] */
112+
113+#define TNUM_CYCID 1
114+
115+const ID _kernel_tmax_cycid = (TMIN_CYCID + TNUM_CYCID - 1);
116+
117+const CYCINIB _kernel_cycinib_table[TNUM_CYCID] = {
118+ {0,0,(FP)(cyclic_handler),2000,0}
119+};
120+
121+CYCCB _kernel_cyccb_table[TNUM_CYCID];
122+
123+
124+ /* Object initializer [interrupt] */
125+
126+#define TNUM_INHNO 3
127+
128+const UINT _kernel_tnum_inhno = TNUM_INHNO;
129+
130+CFG_INTHDR_ENTRY(sio0_rx_handler);
131+CFG_INTHDR_ENTRY(sio0_tx_handler);
132+CFG_INTHDR_ENTRY(timer_handler);
133+
134+const INHINIB _kernel_inhinib_table[TNUM_INHNO] = {
135+ {22,0,(FP)CFG_INT_ENTRY(sio0_rx_handler)},
136+ {23,0,(FP)CFG_INT_ENTRY(sio0_tx_handler)},
137+ {39,0,(FP)CFG_INT_ENTRY(timer_handler)}
138+};
139+
140+
141+ /* Object initializer [exception] */
142+
143+#define TNUM_EXCNO 1
144+
145+const UINT _kernel_tnum_excno = TNUM_EXCNO;
146+
147+CFG_EXCHDR_ENTRY(cpuexc_handler);
148+
149+const EXCINIB _kernel_excinib_table[TNUM_EXCNO] = {
150+ {0,0,(FP)CFG_EXC_ENTRY(cpuexc_handler)}
151+};
152+
153+ /* Initialization handler */
154+
155+void
156+_kernel_call_inirtn(void)
157+{
158+ timer_initialize( (VP_INT)(0) );
159+ serial_initialize( (VP_INT)(0) );
160+}
161+
162+void
163+_kernel_call_terrtn(void)
164+{
165+ timer_terminate( (VP_INT)(0) );
166+}
167+
168+ /* Object initialization routine */
169+
170+void
171+_kernel_object_initialize(void)
172+{
173+ _kernel_task_initialize();
174+ _kernel_semaphore_initialize();
175+ _kernel_cyclic_initialize();
176+ _kernel_interrupt_initialize();
177+ _kernel_exception_initialize();
178+}
179+
180+TMEVTN _kernel_tmevt_heap[TNUM_TSKID + TNUM_CYCID];
181+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/kernel_id.h
@@ -0,0 +1,16 @@
1+#ifndef KERNEL_ID_H
2+#define KERNEL_ID_H
3+
4+ /* object identifier deifnition */
5+
6+#define CYCHDR1 1
7+#define LOGTASK 5
8+#define MAIN_TASK 4
9+#define SERIAL_RCV_SEM1 1
10+#define SERIAL_SND_SEM1 2
11+#define TASK1 1
12+#define TASK2 2
13+#define TASK3 3
14+
15+#endif /* KERNEL_ID_H */
16+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/readme.txt
@@ -0,0 +1,35 @@
1+TOPPERS/JSPのsample1アプリケーションをEZ-KIT Lite BF518
2+移植した。
3+
4+ビルドに先立って、jsp/config/blackfin/ezkit_bf518/libkernel.dpjを
5+ビルドして、libekernel.dlbを作っておくこと。
6+
7+また、jsp/utils/blackfin-vdsp/offset.hは、必要に応じて
8+作り直すこと。
9+
10+VisualDSP++のICEを使ってロードする場合には、実行直前に次の
11+二つのレジスタの値に注意すること。
12+
13+PLL_CTL : 0x0a00 (Rev.0.1の場合) / 0x0b00 (Rev.0.2の場合)
14+EBIU_SDBCTL.EBE : 0
15+
16+TOPPERS/JSP for Blackfinはこの二つをチェックして、もし違う
17+値であると外部でPLLとSDRAMを変更したと認識してPLLの初期化を
18+中止する。これは外部SDRAMなどクロックに依存するデバイスの
19+動作を保護するためである。
20+
21+sample1.ldfは、VisualDSP++に作らせたあと、自動更新を
22+停止し、crtを削除したものである。
23+
24+異なるシステム依存部用に改造する場合は、プロジェクトの
25+Cコンパイラ、およびアセンブラのインクルード・パスを必ず
26+変更すること。
27+
28+2012/07/20追加
29+Visual DSP++ 5.0 Update 10でビルド&動作確認
30+
31+sample1では、インストラクションキャッシュをONにすると、L1-SRAMに
32+収まらないので、OFFにしている。
33+キャッシュをONにして使用する場合、sample1.ldfのメモリエリアの指定を
34+変更して、カーネルの一部をSDRAMに配置する。
35+例えば、OSとして緊急性の低いchip_dump.cの関数をSDRAMに配置するなど。
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/sample1.c
@@ -0,0 +1,417 @@
1+/*
2+ * TOPPERS/JSP Kernel
3+ * Toyohashi Open Platform for Embedded Real-Time Systems/
4+ * Just Standard Profile Kernel
5+ *
6+ * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7+ * Toyohashi Univ. of Technology, JAPAN
8+ * Copyright (C) 2004-2006 by Embedded and Real-Time Systems Laboratory
9+ * Graduate School of Information Science, Nagoya Univ., JAPAN
10+ *
11+ * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation
12+ * によって公表されている GNU General Public License の Version 2 に記
13+ * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
14+ * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
15+ * 利用と呼ぶ)することを無償で許諾する.
16+ * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17+ * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18+ * スコード中に含まれていること.
19+ * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20+ * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
21+ * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
22+ * の無保証規定を掲載すること.
23+ * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24+ * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
25+ * と.
26+ * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
27+ * 作権表示,この利用条件および下記の無保証規定を掲載すること.
28+ * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
29+ * 報告すること.
30+ * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
31+ * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
32+ *
33+ * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
34+ * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
35+ * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
36+ * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
37+ *
38+ * @(#) $Id: sample1.c,v 1.1 2012/07/20 04:03:13 maduki Exp $
39+ */
40+
41+/*
42+ * サンプルプログラム(1)の本体
43+ *
44+ * JSPカーネルの基本的な動作を確認するためのサンプルプログラム.
45+ *
46+ * プログラムの概要:
47+ *
48+ * ユーザインタフェースを受け持つメインタスク(タスクID: MAIN_TASK,
49+ * 優先度: MAIN_PRIORITY)と,三つの並列実行されるタスク(タスクID:
50+ * TASK1縲弋ASK3,初期優先度: MID_PRIORITY)で構成される.また,起動周
51+ * 期が2秒の周期ハンドラ(周期ハンドラID: CYCHDR1)を用いる.
52+ *
53+ * 並列実行されるタスクは,task_loop 回空ループを実行する度に,タスク
54+ * が実行中であることをあらわすメッセージを表示する.
55+ *
56+ * 周期ハンドラは,三つの優先度(HIGH_PRIORITY,MID_PRIORITY,
57+ * LOW_PRIORITY)のレディキューを回転させる.プログラムの起動直後は,
58+ * 周期ハンドラは停止状態になっている.
59+ *
60+ * メインタスクは,シリアルI/Oポートからの文字入力を行い(文字入力を
61+ * 待っている間は,並列実行されるタスクが実行されている),入力された
62+ * 文字に対応した処理を実行する.入力された文字と処理の関係は次の通り.
63+ * Control-C または 'Q' が入力されると,プログラムを終了する.
64+ *
65+ * '1' : 以降のコマンドは TASK1 に対して行う.
66+ * '2' : 以降のコマンドは TASK2 に対して行う.
67+ * '3' : 以降のコマンドは TASK3 に対して行う.
68+ * 'a' : タスクを act_tsk により起動する.
69+ * 'A' : タスクに対する起動要求を can_act によりキャンセルする.
70+ * 'e' : タスクに ext_tsk を呼び出させ,終了させる.
71+ * 't' : タスクを ter_tsk により強制終了する.
72+ * '>' : タスクの優先度を HIGH_PRIORITY にする.
73+ * '=' : タスクの優先度を MID_PRIORITY にする.
74+ * '<' : タスクの優先度を LOW_PRIORITY にする.
75+ * 'G' : タスクの優先度を get_pri で読み出す.
76+ * 's' : タスクに slp_tsk を呼び出させ,起床待ちにさせる.
77+ * 'S' : タスクに tslp_tsk(10秒) を呼び出させ,起床待ちにさせる.
78+ * 'w' : タスクを wup_tsk により起床する.
79+ * 'W' : タスクに対する起床要求を can_wup によりキャンセルする.
80+ * 'l' : タスクを rel_wai により強制的に待ち解除にする.
81+ * 'u' : タスクを sus_tsk により強制待ち状態にする.
82+ * 'm' : タスクの強制待ち状態を rsm_tsk により解除する.
83+ * 'M' : タスクの強制待ち状態を frsm_tsk により強制解除する.
84+ * 'd' : タスクに dly_tsk(10秒) を呼び出させ,時間経過待ちにさせる.
85+ * 'x' : タスクにパターン 0x0001 の例外処理を要求する.
86+ * 'X' : タスクにパターン 0x0002 の例外処理を要求する.
87+ * 'y' : タスクに dis_tex を呼び出させ,タスク例外を禁止する.
88+ * 'Y' : タスクに ena_tex を呼び出させ,タスク例外を許可する.
89+ * 'r' : 三つの優先度(HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY)の
90+ * レディキューを回転させる.
91+ * 'c' : 周期ハンドラを動作させる.
92+ * 'C' : 周期ハンドラを停止させる.
93+ * 'z' : CPU例外を発生させる.
94+ * 'Z' : CPUロック状態でCPU例外を発生させる(プログラムを終了する).
95+ * 'V' : vxget_tim で性能評価用システム時刻を2回読む.
96+ * 'v' : 発行したシステムコールを表示する(デフォルト).
97+ * 'q' : 発行したシステムコールを表示しない.
98+ */
99+
100+#include <t_services.h>
101+#include "kernel_id.h"
102+#include "sample1.h"
103+
104+/*
105+ * 並行実行されるタスクへのメッセージ領域
106+ */
107+char message[3];
108+
109+/*
110+ * ループ回数
111+ */
112+UW task_loop; /* タスク内でのループ回数 */
113+UW tex_loop; /* 例外処理ルーチン内でのループ回数 */
114+
115+/*
116+ * 並行実行されるタスク
117+ */
118+void task(VP_INT exinf)
119+{
120+ volatile UW i;
121+ INT n = 0;
122+ INT tskno = (INT) exinf;
123+ const char *graph[] = { "|", " +", " *" };
124+ char c;
125+
126+ ena_tex();
127+ while (1) {
128+ syslog(LOG_NOTICE, "task%d is running (%03d). %s",
129+ tskno, ++n, graph[tskno-1]);
130+ for (i = 0; i < task_loop; i++);
131+ c = message[tskno-1];
132+ message[tskno-1] = 0;
133+ switch (c) {
134+ case 'e':
135+ syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
136+ ext_tsk();
137+ case 's':
138+ syslog(LOG_INFO, "#%d#slp_tsk()", tskno);
139+ syscall(slp_tsk());
140+ break;
141+ case 'S':
142+ syslog(LOG_INFO, "#%d#tslp_tsk(10000)", tskno);
143+ syscall(tslp_tsk(10000));
144+ break;
145+ case 'd':
146+ syslog(LOG_INFO, "#%d#dly_tsk(10000)", tskno);
147+ syscall(dly_tsk(10000));
148+ break;
149+ case 'y':
150+ syslog(LOG_INFO, "#%d#dis_tex()", tskno);
151+ syscall(dis_tex());
152+ break;
153+ case 'Y':
154+ syslog(LOG_INFO, "#%d#ena_tex()", tskno);
155+ syscall(ena_tex());
156+ break;
157+#ifdef CPUEXC1
158+ case 'z':
159+ syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
160+ RAISE_CPU_EXCEPTION;
161+ break;
162+ case 'Z':
163+ loc_cpu();
164+ syslog(LOG_NOTICE, "#%d#raise CPU exception", tskno);
165+ RAISE_CPU_EXCEPTION;
166+ unl_cpu();
167+ break;
168+#endif /* CPUEXC1 */
169+ default:
170+ break;
171+ }
172+ }
173+}
174+
175+/*
176+ * 並行して実行されるタスク用のタスク例外処理ルーチン
177+ */
178+void tex_routine(TEXPTN texptn, VP_INT exinf)
179+{
180+ volatile UW i;
181+ INT tskno = (INT) exinf;
182+
183+ syslog(LOG_NOTICE, "task%d receives exception 0x%04x. ",
184+ tskno, texptn);
185+ for (i = 0; i < tex_loop; i++);
186+
187+ if (texptn & 0x8000) {
188+ syslog(LOG_INFO, "#%d#ext_tsk()", tskno);
189+ ext_tsk();
190+ }
191+}
192+
193+/*
194+ * CPU例外ハンドラ
195+ */
196+#ifdef CPUEXC1
197+
198+void
199+cpuexc_handler(VP p_excinf)
200+{
201+ ID tskid;
202+
203+ syslog(LOG_NOTICE, "CPU exception handler (p_excinf = %08p).",
204+ p_excinf);
205+ if (sns_ctx() != TRUE) {
206+ syslog(LOG_WARNING,
207+ "sns_ctx() is not TRUE in CPU exception handler.");
208+ }
209+ if (sns_dpn() != TRUE) {
210+ syslog(LOG_WARNING,
211+ "sns_dpn() is not TRUE in CPU exception handler.");
212+ }
213+ syslog(LOG_DEBUG,
214+ "sns_loc = %d sns_dsp = %d", sns_loc(), sns_dsp());
215+ syslog(LOG_DEBUG,
216+ "vxsns_loc = %d vxsns_ctx = %d vxsns_dsp = %d vxsns_dpn = %d",
217+ vxsns_loc(p_excinf), vxsns_ctx(p_excinf),
218+ vxsns_dsp(p_excinf), vxsns_dpn(p_excinf));
219+
220+ if (!vxsns_loc(p_excinf) && !vxsns_ctx(p_excinf)) {
221+ syscall(iget_tid(&tskid));
222+ syscall(iras_tex(tskid, 0x8000));
223+ }
224+ else {
225+ syslog(LOG_NOTICE, "Sample program ends with exception.");
226+ kernel_exit();
227+ }
228+}
229+
230+#endif /* CPUEXC1 */
231+
232+/*
233+ * 周期ハンドラ
234+ *
235+ * HIGH_PRIORITY,MID_PRIORITY,LOW_PRIORITY の各優先度のレディキュー
236+ * を回転させる.
237+ */
238+void cyclic_handler(VP_INT exinf)
239+{
240+ irot_rdq(HIGH_PRIORITY);
241+ irot_rdq(MID_PRIORITY);
242+ irot_rdq(LOW_PRIORITY);
243+}
244+
245+/*
246+ * メインタスク
247+ */
248+void main_task(VP_INT exinf)
249+{
250+ char c;
251+ ID tskid = TASK1;
252+ volatile UW i;
253+ INT tskno = 1;
254+ ER_UINT ercd;
255+ PRI tskpri;
256+ SYSTIM stime1, stime2;
257+#ifndef OMIT_VGET_TIM
258+ SYSUTIM utime1, utime2;
259+#endif /* OMIT_VGET_TIM */
260+
261+ vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
262+ syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", (INT) exinf);
263+
264+ syscall(serial_ctl_por(TASK_PORTID,
265+ (IOCTL_CRLF | IOCTL_FCSND | IOCTL_FCRCV)));
266+
267+ /*
268+ * ループ回数の設定
269+ */
270+ task_loop = LOOP_REF;
271+ get_tim(&stime1);
272+ for (i = 0; i < task_loop; i++);
273+ get_tim(&stime2);
274+ task_loop = LOOP_REF * 400 / (stime2 - stime1);
275+ tex_loop = task_loop / 5;
276+
277+ /*
278+ * タスクの起動
279+ */
280+ act_tsk(TASK1);
281+ act_tsk(TASK2);
282+ act_tsk(TASK3);
283+
284+ /*
285+ * メインループ
286+ */
287+ do {
288+ syscall(serial_rea_dat(TASK_PORTID, &c, 1));
289+ switch (c) {
290+ case 'e':
291+ case 's':
292+ case 'S':
293+ case 'd':
294+ case 'y':
295+ case 'Y':
296+ case 'z':
297+ case 'Z':
298+ message[tskno-1] = c;
299+ break;
300+ case '1':
301+ tskno = 1;
302+ tskid = TASK1;
303+ break;
304+ case '2':
305+ tskno = 2;
306+ tskid = TASK2;
307+ break;
308+ case '3':
309+ tskno = 3;
310+ tskid = TASK3;
311+ break;
312+ case 'a':
313+ syslog(LOG_INFO, "#act_tsk(%d)", tskno);
314+ syscall(act_tsk(tskid));
315+ break;
316+ case 'A':
317+ syslog(LOG_INFO, "#can_act(%d)", tskno);
318+ syscall(ercd = can_act(tskid));
319+ if (ercd >= 0) {
320+ syslog(LOG_NOTICE, "can_act(%d) returns %d",
321+ tskno, ercd);
322+ }
323+ break;
324+ case 't':
325+ syslog(LOG_INFO, "#ter_tsk(%d)", tskno);
326+ syscall(ter_tsk(tskid));
327+ break;
328+ case '>':
329+ syslog(LOG_INFO, "#chg_pri(%d, HIGH_PRIORITY)", tskno);
330+ chg_pri(tskid, HIGH_PRIORITY);
331+ break;
332+ case '=':
333+ syslog(LOG_INFO, "#chg_pri(%d, MID_PRIORITY)", tskno);
334+ chg_pri(tskid, MID_PRIORITY);
335+ break;
336+ case '<':
337+ syslog(LOG_INFO, "#chg_pri(%d, LOW_PRIORITY)", tskno);
338+ chg_pri(tskid, LOW_PRIORITY);
339+ break;
340+ case 'G':
341+ syslog(LOG_INFO, "#get_pri(%d, &tskpri)", tskno);
342+ syscall(ercd = get_pri(tskid, &tskpri));
343+ if (ercd >= 0) {
344+ syslog(LOG_NOTICE, "priority of task %d is %d",
345+ tskno, tskpri);
346+ }
347+ break;
348+ case 'w':
349+ syslog(LOG_INFO, "#wup_tsk(%d)", tskno);
350+ syscall(wup_tsk(tskid));
351+ break;
352+ case 'W':
353+ syslog(LOG_INFO, "#can_wup(%d)", tskno);
354+ syscall(ercd = can_wup(tskid));
355+ if (ercd >= 0) {
356+ syslog(LOG_NOTICE, "can_wup(%d) returns %d",
357+ tskno, ercd);
358+ }
359+ break;
360+ case 'l':
361+ syslog(LOG_INFO, "#rel_wai(%d)", tskno);
362+ syscall(rel_wai(tskid));
363+ break;
364+ case 'u':
365+ syslog(LOG_INFO, "#sus_tsk(%d)", tskno);
366+ syscall(sus_tsk(tskid));
367+ break;
368+ case 'm':
369+ syslog(LOG_INFO, "#rsm_tsk(%d)", tskno);
370+ syscall(rsm_tsk(tskid));
371+ break;
372+ case 'M':
373+ syslog(LOG_INFO, "#frsm_tsk(%d)", tskno);
374+ syscall(frsm_tsk(tskid));
375+ break;
376+ case 'x':
377+ syslog(LOG_INFO, "#ras_tex(%d, 0x0001)", tskno);
378+ syscall(ras_tex(tskid, 0x0001));
379+ break;
380+ case 'X':
381+ syslog(LOG_INFO, "#ras_tex(%d, 0x0002)", tskno);
382+ syscall(ras_tex(tskid, 0x0002));
383+ break;
384+ case 'r':
385+ syslog(LOG_INFO, "#rot_rdq(three priorities)");
386+ rot_rdq(HIGH_PRIORITY);
387+ rot_rdq(MID_PRIORITY);
388+ rot_rdq(LOW_PRIORITY);
389+ break;
390+ case 'c':
391+ sta_cyc(CYCHDR1);
392+ break;
393+ case 'C':
394+ stp_cyc(CYCHDR1);
395+ break;
396+#ifndef OMIT_VGET_TIM
397+ case 'V':
398+ syscall(vxget_tim(&utime1));
399+ syscall(vxget_tim(&utime2));
400+ syslog(LOG_NOTICE, "utime1 = %d, utime2 = %d",
401+ (UINT) utime1, (UINT) utime2);
402+ break;
403+#endif /* OMIT_VGET_TIM */
404+ case 'v':
405+ vmsk_log(LOG_UPTO(LOG_INFO), LOG_UPTO(LOG_EMERG));
406+ break;
407+ case 'q':
408+ vmsk_log(LOG_UPTO(LOG_NOTICE), LOG_UPTO(LOG_EMERG));
409+ break;
410+ default:
411+ break;
412+ }
413+ } while (c != '\003' && c != 'Q');
414+
415+ syslog(LOG_NOTICE, "Sample program ends.");
416+ kernel_exit();
417+}
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/sample1.cfg
@@ -0,0 +1,28 @@
1+/*
2+ * @(#) $Id: sample1.cfg,v 1.1 2012/07/20 04:03:13 maduki Exp $
3+ */
4+
5+/*
6+ * サンプルプログラム(1)のシステムコンフィギュレーションファイル
7+ */
8+
9+#define _MACRO_ONLY
10+#include "sample1.h"
11+
12+INCLUDE("\"sample1.h\"");
13+CRE_TSK(TASK1, { TA_HLNG, (VP_INT) 1, task, MID_PRIORITY, STACK_SIZE, NULL });
14+CRE_TSK(TASK2, { TA_HLNG, (VP_INT) 2, task, MID_PRIORITY, STACK_SIZE, NULL });
15+CRE_TSK(TASK3, { TA_HLNG, (VP_INT) 3, task, MID_PRIORITY, STACK_SIZE, NULL });
16+CRE_TSK(MAIN_TASK, { TA_HLNG|TA_ACT, 0, main_task, MAIN_PRIORITY,
17+ STACK_SIZE, NULL });
18+DEF_TEX(TASK1, { TA_HLNG, tex_routine });
19+DEF_TEX(TASK2, { TA_HLNG, tex_routine });
20+DEF_TEX(TASK3, { TA_HLNG, tex_routine });
21+CRE_CYC(CYCHDR1, { TA_HLNG, 0, cyclic_handler, 2000, 0 });
22+#ifdef CPUEXC1
23+DEF_EXC(CPUEXC1, { TA_HLNG, cpuexc_handler} );
24+#endif /* CPUEXC1 */
25+
26+#include "../systask/timer.cfg"
27+#include "../systask/serial.cfg"
28+#include "../systask/logtask.cfg"
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/sample1.dpj
@@ -0,0 +1,240 @@
1+<?xml version="1.0" encoding='ISO-8859-1'?>
2+<visualdsp-project schema="17" name="sample1_ezkit_bf518" file="sample1.dpj" version="1">
3+ <!-- Project build target -->
4+ <target>
5+ <processor revision="Automatic">ADSP-BF518</processor>
6+ <extension>.dxe</extension>
7+ <type>Executable file</type>
8+ </target>
9+ <!-- Configurations -->
10+ <configurations active="Release">
11+ <configuration name="Debug">
12+ <intermediate-dir>.\Debug</intermediate-dir>
13+ <output-dir>.\Debug</output-dir>
14+ <changed-property-page-flags>0</changed-property-page-flags>
15+ <tools>
16+ <tool type="Compiler">
17+ <option><![CDATA[|-Version>5.0|-O>0|-O1>0|-Ov>100|-ipa>0|-g>1|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>1|-check-init-order>0|-ignore-std>0|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>0|-misra-testing>0|-misra-suppress-advisory>0|-I>..\..\..\kernel;..\..\..\include;..\..\..\systask;..\..\..\pdic\simple_sio;..\..\..\config\blackfin;..\..\..\config\blackfin\ezkit_bf518;..\..\..\config\blackfin\_common_bf518|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>1|-sdram>1|-multicore>0|-stack-detect>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
18+ </tool>
19+ <tool type="Assembler">
20+ <option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>0|-save-temps>0|-sp>0]]></option>
21+ </tool>
22+ <tool type="Linker">
23+ <option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>0|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-MD>USER_CRT="sample1_ezkit_bf518_basiccrt.doj",USE_FILEIO|-flags-link -e>0|-flags-link -ev>0|-add-debug-libpaths>1|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1]]></option>
24+ </tool>
25+ <tool type="Archiver">
26+ <option><![CDATA[]]></option>
27+ </tool>
28+ <tool type="Loader">
29+ <option><![CDATA[|-Version>4.5|-b SPI>1|-f HEX>1|-Width 8>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-HoldTime >-1|-pFlag >-1|-zinit>0|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
30+ </tool>
31+ <tool type="VdkGen">
32+ <option><![CDATA[]]></option>
33+ </tool>
34+ </tools>
35+ </configuration>
36+ <configuration name="Release">
37+ <intermediate-dir>.\Release</intermediate-dir>
38+ <output-dir>.\Release</output-dir>
39+ <changed-property-page-flags>0</changed-property-page-flags>
40+ <tools>
41+ <tool type="Compiler">
42+ <option><![CDATA[|-Version>5.0|-O>1|-O1>1|-Ov>100|-ipa>0|-g>0|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>1|-check-init-order>0|-ignore-std>0|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>1|-misra-testing>1|-misra-suppress-advisory>0|-I>..\..\..\kernel;..\..\..\include;..\..\..\systask;..\..\..\pdic\simple_sio;..\..\..\config\blackfin;..\..\..\config\blackfin\ezkit_bf518;..\..\..\config\blackfin\_common_bf518|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>1|-sdram>1|-multicore>0|-stack-detect>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
43+ </tool>
44+ <tool type="Assembler">
45+ <option><![CDATA[|-Version>4.5|-v>0|-g>0|-l>0|-save-temps>0|-sp>0]]></option>
46+ </tool>
47+ <tool type="Linker">
48+ <option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>0|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>1|-MD>USER_CRT="sample1_ezkit_bf518_basiccrt.doj",USE_FILEIO|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1]]></option>
49+ </tool>
50+ <tool type="Archiver">
51+ <option><![CDATA[]]></option>
52+ </tool>
53+ <tool type="Loader">
54+ <option><![CDATA[|-Version>4.5|-b SPI>1|-f HEX>1|-Width 8>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-HoldTime >-1|-pFlag >-1|-zinit>0|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
55+ </tool>
56+ <tool type="VdkGen">
57+ <option><![CDATA[]]></option>
58+ </tool>
59+ </tools>
60+ </configuration>
61+ </configurations>
62+ <!-- Project folders -->
63+ <folders>
64+ <folder name="Header Files" ext=".h,.hpp,.hxx">
65+ <files>
66+ <file name=".\kernel_id.h">
67+ </file>
68+ <file name=".\sample1.h">
69+ </file>
70+ </files>
71+ </folder>
72+ <folder name="Linker Files" ext=".ldf,.dlb">
73+ <files>
74+ <file name="..\..\..\config\blackfin\ezkit_bf518\libkernel.dlb">
75+ <file-configurations>
76+ <file-configuration name="Debug">
77+ <excluded-flag value="no"/>
78+ </file-configuration>
79+ <file-configuration name="Release">
80+ <excluded-flag value="no"/>
81+ </file-configuration>
82+ </file-configurations>
83+ </file>
84+ <file name=".\sample1.ldf">
85+ <file-configurations>
86+ <file-configuration name="Debug">
87+ <excluded-flag value="no"/>
88+ <build-with-flag value="project"/>
89+ <intermediate-dir>.\Debug</intermediate-dir>
90+ <output-dir>.\Debug</output-dir>
91+ </file-configuration>
92+ <file-configuration name="Release">
93+ <excluded-flag value="no"/>
94+ <build-with-flag value="project"/>
95+ <intermediate-dir>.\Release</intermediate-dir>
96+ <output-dir>.\Release</output-dir>
97+ </file-configuration>
98+ </file-configurations>
99+ </file>
100+ </files>
101+ </folder>
102+ <folder name="pdic">
103+ <files>
104+ <file name="..\..\..\pdic\simple_sio\uart.c">
105+ <file-configurations>
106+ <file-configuration name="Debug">
107+ <excluded-flag value="no"/>
108+ <build-with-flag value="project"/>
109+ <intermediate-dir>.\Debug</intermediate-dir>
110+ <output-dir>.\Debug</output-dir>
111+ </file-configuration>
112+ <file-configuration name="Release">
113+ <excluded-flag value="no"/>
114+ <build-with-flag value="project"/>
115+ <intermediate-dir>.\Release</intermediate-dir>
116+ <output-dir>.\Release</output-dir>
117+ </file-configuration>
118+ </file-configurations>
119+ </file>
120+ </files>
121+ </folder>
122+ <folder name="Source Files" ext=".c,.cpp,.cxx,.asm,.dsp,.s">
123+ <files>
124+ <file name=".\chip_dump_empty.c">
125+ <file-configurations>
126+ <file-configuration name="Debug">
127+ <excluded-flag value="no"/>
128+ <build-with-flag value="project"/>
129+ <intermediate-dir>.\Debug</intermediate-dir>
130+ <output-dir>.\Debug</output-dir>
131+ </file-configuration>
132+ <file-configuration name="Release">
133+ <excluded-flag value="no"/>
134+ <build-with-flag value="project"/>
135+ <intermediate-dir>.\Release</intermediate-dir>
136+ <output-dir>.\Release</output-dir>
137+ </file-configuration>
138+ </file-configurations>
139+ </file>
140+ <file name=".\kernel_cfg.c">
141+ <file-configurations>
142+ <file-configuration name="Debug">
143+ <excluded-flag value="no"/>
144+ <build-with-flag value="project"/>
145+ <intermediate-dir>.\Debug</intermediate-dir>
146+ <output-dir>.\Debug</output-dir>
147+ </file-configuration>
148+ <file-configuration name="Release">
149+ <excluded-flag value="no"/>
150+ <build-with-flag value="project"/>
151+ <intermediate-dir>.\Release</intermediate-dir>
152+ <output-dir>.\Release</output-dir>
153+ </file-configuration>
154+ </file-configurations>
155+ </file>
156+ <file name=".\sample1.c">
157+ <file-configurations>
158+ <file-configuration name="Debug">
159+ <excluded-flag value="no"/>
160+ <build-with-flag value="project"/>
161+ <intermediate-dir>.\Debug</intermediate-dir>
162+ <output-dir>.\Debug</output-dir>
163+ </file-configuration>
164+ <file-configuration name="Release">
165+ <excluded-flag value="no"/>
166+ <build-with-flag value="project"/>
167+ <intermediate-dir>.\Release</intermediate-dir>
168+ <output-dir>.\Release</output-dir>
169+ </file-configuration>
170+ </file-configurations>
171+ </file>
172+ </files>
173+ </folder>
174+ <folder name="systask">
175+ <files>
176+ <file name="..\..\..\systask\logtask.c">
177+ <file-configurations>
178+ <file-configuration name="Debug">
179+ <excluded-flag value="no"/>
180+ <build-with-flag value="project"/>
181+ <intermediate-dir>.\Debug</intermediate-dir>
182+ <output-dir>.\Debug</output-dir>
183+ </file-configuration>
184+ <file-configuration name="Release">
185+ <excluded-flag value="no"/>
186+ <build-with-flag value="project"/>
187+ <intermediate-dir>.\Release</intermediate-dir>
188+ <output-dir>.\Release</output-dir>
189+ </file-configuration>
190+ </file-configurations>
191+ </file>
192+ <file name="..\..\..\systask\serial.c">
193+ <file-configurations>
194+ <file-configuration name="Debug">
195+ <excluded-flag value="no"/>
196+ <build-with-flag value="project"/>
197+ <intermediate-dir>.\Debug</intermediate-dir>
198+ <output-dir>.\Debug</output-dir>
199+ </file-configuration>
200+ <file-configuration name="Release">
201+ <excluded-flag value="no"/>
202+ <build-with-flag value="project"/>
203+ <intermediate-dir>.\Release</intermediate-dir>
204+ <output-dir>.\Release</output-dir>
205+ </file-configuration>
206+ </file-configurations>
207+ </file>
208+ </files>
209+ </folder>
210+ </folders>
211+ <!-- Files under root directly -->
212+ <files>
213+ <file name=".\readme.txt">
214+ </file>
215+ <file name=".\sample1.cfg">
216+ </file>
217+ </files>
218+ <!-- System Builder Components -->
219+ <system-builder-component-tables>
220+ <system-builder-plugin name="Startup Code Wizard" version="2.0">
221+ <system-builder-component name="Program Running From">
222+ <property name="Internal Memory"><![CDATA[True]]></property>
223+ </system-builder-component>
224+ <system-builder-component name="Project Options">
225+ <property name="Compiler Multicore"><![CDATA[False]]></property>
226+ <property name="Configuration"><![CDATA[Release]]></property>
227+ <property name="Full IO"><![CDATA[False]]></property>
228+ <property name="Intermediate Directory"><![CDATA[.\Release]]></property>
229+ <property name="Link against MT libraries"><![CDATA[False]]></property>
230+ <property name="Linker Multicore"><![CDATA[False]]></property>
231+ <property name="Name"><![CDATA[sample1_ezkit_bf518]]></property>
232+ <property name="Processor"><![CDATA[ADSP-BF518]]></property>
233+ <property name="Silicon Revision"><![CDATA[Automatic]]></property>
234+ <property name="Strict IEEE Floating Point Compliance"><![CDATA[False]]></property>
235+ <property name="Use C++ exceptions libraries"><![CDATA[False]]></property>
236+ <property name="Utility ROM"><![CDATA[True]]></property>
237+ </system-builder-component>
238+ </system-builder-plugin>
239+ </system-builder-component-tables>
240+</visualdsp-project>
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/sample1.h
@@ -0,0 +1,215 @@
1+/*
2+ * TOPPERS/JSP Kernel
3+ * Toyohashi Open Platform for Embedded Real-Time Systems/
4+ * Just Standard Profile Kernel
5+ *
6+ * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7+ * Toyohashi Univ. of Technology, JAPAN
8+ * Copyright (C) 2005 by Embedded and Real-Time Systems Laboratory
9+ * Graduate School of Information Science, Nagoya Univ., JAPAN
10+ *
11+ * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation
12+ * によって公表されている GNU General Public License の Version 2 に記
13+ * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
14+ * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
15+ * 利用と呼ぶ)することを無償で許諾する.
16+ * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17+ * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18+ * スコード中に含まれていること.
19+ * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20+ * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
21+ * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
22+ * の無保証規定を掲載すること.
23+ * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24+ * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
25+ * と.
26+ * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
27+ * 作権表示,この利用条件および下記の無保証規定を掲載すること.
28+ * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
29+ * 報告すること.
30+ * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
31+ * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
32+ *
33+ * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
34+ * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
35+ * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
36+ * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
37+ *
38+ * @(#) $Id: sample1.h,v 1.1 2012/07/20 04:03:13 maduki Exp $
39+ */
40+
41+/*
42+ * サンプルプログラム(1)のヘッダファイル
43+ */
44+
45+#include <t_services.h>
46+
47+/*
48+ * 各タスクの優先度の定義
49+ */
50+
51+#define MAIN_PRIORITY 5 /* メインタスクの優先度 */
52+ /* HIGH_PRIORITY より高くすること */
53+
54+#define HIGH_PRIORITY 9 /* 並列に実行されるタスクの優先度 */
55+#define MID_PRIORITY 10
56+#define LOW_PRIORITY 11
57+
58+/*
59+ * ターゲット依存の定義(CPU例外ハンドラの起動方法など)
60+ */
61+
62+#ifdef M68K
63+
64+#define CPUEXC1 5 /* ゼロ除算例外 */
65+#define RAISE_CPU_EXCEPTION syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
66+
67+#elif defined(SH3)
68+
69+#define CPUEXC1 224 /* ロードエラー例外 */
70+#define RAISE_CPU_EXCEPTION (*((volatile int *) 0xFFFFFEC1))
71+
72+#elif defined(SH1)
73+
74+#define CPUEXC1 9 /* CPUアドレスエラー例外 */
75+#define RAISE_CPU_EXCEPTION (*((volatile int *) 0xFFFFFEC1))
76+#ifdef TOKIWA_SH1
77+#define STACK_SIZE 512 /* タスクのスタックサイズ */
78+#endif /* TOKIWA_SH1 */
79+
80+#elif defined(ARMV4)
81+
82+#define CPUEXC1 4 /* ロードエラー例外 */
83+#define RAISE_CPU_EXCEPTION (*((volatile int *) 0xFFFFFEC1))
84+
85+#elif defined(V850)
86+
87+#elif defined(H8)
88+
89+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
90+
91+#elif defined(H8S)
92+
93+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
94+#define LOOP_REF 4000L /* 速度計測用のループ回数 */
95+
96+#elif defined(MICROBLAZE)
97+
98+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
99+#define STACK_SIZE 2048 /* タスクのスタックサイズ */
100+
101+#elif defined(IA32)
102+
103+#define CPUEXC1 0 /* ゼロ除算例外 */
104+#define RAISE_CPU_EXCEPTION syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
105+define OMIT_VGET_TIM
106+
107+#elif defined(TMS320C54X)
108+
109+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
110+#define STACK_SIZE 320 /* タスクのスタックサイズ */
111+#define LOOP_REF 500000L /* 速度計測用のループ回数 */
112+
113+#elif defined(XSTORMY16)
114+
115+#define CPUEXC1 0 /* 無効命令例外 */
116+#define RAISE_CPU_EXCEPTION __asm__( ".hword 0x0006" )
117+#define OMIT_VGET_TIM /* vxget_tim()は非サポート */
118+#define LOOP_REF 4000L /* 速度計測用のループ回数 */
119+#define STACK_SIZE 256 /* タスクのスタックサイズ */
120+#define TASK_PORTID 2 /* SIOはポート2を用いる */
121+
122+#elif defined(MIPS3) || defined(MIPS64)
123+
124+#define CPUEXC1 Bp /* ブレークポイント例外(ゼロ除算時に発生) */
125+#define RAISE_CPU_EXCEPTION syslog(LOG_NOTICE, "zerodiv = %d", 10 / 0)
126+
127+#elif defined(M16C) && defined(OAKS16)
128+
129+#define CPUEXC1 32 /* CPU例外ハンドラ番号 */
130+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ソフトウェア割込み発生 */
131+#define STACK_SIZE 512 /* タスクのスタックサイズ */
132+#define TASK_PORTID 2 /* 文字入力するシリアルポートID */
133+
134+#elif defined(M16C) && defined(OAKS16_MINI)
135+
136+#define CPUEXC1 32 /* CPU例外ハンドラ番号 */
137+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ソフトウェア割込み発生 */
138+#define STACK_SIZE 384 /* タスクのスタックサイズ */
139+#define TASK_PORTID 2 /* 文字入力するシリアルポートID */
140+
141+#elif defined(M16C) && defined(M3029)
142+
143+#define CPUEXC1 32 /* CPU例外ハンドラ番号 */
144+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ソフトウェア割込み発生 */
145+#define STACK_SIZE 512 /* タスクのスタックサイズ */
146+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
147+
148+#elif defined(BLACKFIN)
149+
150+#define CPUEXC1 0 /* CPU例外ハンドラ番号 */
151+#define RAISE_CPU_EXCEPTION asm("excpt 0;") /* ソフトウェア割込み発生 */
152+#define STACK_SIZE 1024 /* タスクのスタックサイズ */
153+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
154+
155+#elif defined(LINUX)
156+
157+#undef CPUEXC1 /* CPU例外ハンドラをサポートしない */
158+#define OMIT_VGET_TIM
159+#define LOOP_REF 4000000 /* 速度計測用のループ回数 */
160+
161+#elif defined(NIOS2)
162+
163+#define CPUEXC1 0 /* 未実装命令例外 */
164+#define RAISE_CPU_EXCEPTION Asm("div zero, zero, zero");
165+
166+#elif defined(M32C)
167+
168+#define CPUEXC1 32 /* CPU例外ハンドラ番号 */
169+#define RAISE_CPU_EXCEPTION asm(" int #32") /* ソフトウェア割込み発生 */
170+#define STACK_SIZE 512 /* タスクのスタックサイズ */
171+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
172+
173+#elif defined(M32R)
174+
175+#define CPUEXC1 EXC_TRAP00
176+#define RAISE_CPU_EXCEPTION Asm("trap 0")
177+
178+#elif defined(TLCS_900) && defined(ZUP_F16_EX)
179+
180+#define CPUEXC1 3 /* CPU例外ハンドラ番号 */
181+#define RAISE_CPU_EXCEPTION Asm(" swi 2") /* ソフトウェア割込み発生 */
182+#define STACK_SIZE 512 /* タスクのスタックサイズ */
183+#define TASK_PORTID 1 /* 文字入力するシリアルポートID */
184+#define OMIT_VGET_TIM
185+
186+#endif
187+
188+/*
189+ * ターゲットに依存する可能性のある定数の定義
190+ */
191+
192+#ifndef TASK_PORTID
193+#define TASK_PORTID 2 /* 文字入力するシリアルポートID */
194+#endif /* TASK_PORTID */
195+
196+#ifndef STACK_SIZE
197+#define STACK_SIZE 8192 /* タスクのスタックサイズ */
198+#endif /* STACK_SIZE */
199+
200+#ifndef LOOP_REF
201+#define LOOP_REF 1000000 /* 速度計測用のループ回数 */
202+#endif /* LOOP_REF */
203+
204+/*
205+ * 関数のプロトタイプ宣言
206+ */
207+#ifndef _MACRO_ONLY
208+
209+extern void task(VP_INT tskno);
210+extern void main_task(VP_INT exinf);
211+extern void tex_routine(TEXPTN texptn, VP_INT tskno);
212+extern void cyclic_handler(VP_INT exinf);
213+extern void cpuexc_handler(VP p_excinf);
214+
215+#endif /* _MACRO_ONLY */
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/sample1.ldf
@@ -0,0 +1,480 @@
1+/* MANAGED-BY-SYSTEM-BUILDER */
2+/* VisualDSP++ 5.0 Update 8 */
3+/* LDF Printer version: 5.8.0.3 */
4+/* ldfgen.exe version: 5.8.0.3 */
5+/* VDSG version: 5.8.0.3 */
6+
7+/*
8+** ADSP-BF518 linker description file generated on Jun 09, 2010 at 22:41:24.
9+**
10+** Copyright (C) 2000-2010 Analog Devices Inc., All Rights Reserved.
11+**
12+** This file is generated automatically based upon the options selected
13+** in the LDF Wizard. Changes to the LDF configuration should be made by
14+** changing the appropriate options rather than editing this file.
15+**
16+** Configuration:-
17+** crt_doj: BF518_EZKIT_POST_basiccrt.doj
18+** processor: ADSP-BF518
19+** product_name: VisualDSP++ 5.0 Update 8
20+** si_revision: automatic
21+** default_silicon_revision_from_archdef: 0.1
22+** using_cplusplus: true
23+** mem_init: false
24+** use_vdk: false
25+** use_eh: true
26+** use_argv: true
27+** running_from_internal_memory: true
28+** user_heap_src_file: C:\Build_tools\ant_build\cvsStage\_5.0ExportBlackfinReGen\Examples\Blackfin\Examples\ADSP-BF518 EZ-KIT Lite\Power_On_Self_Test\BF518_EZKIT_POST_heaptab.c
29+** libraries_use_stdlib: true
30+** libraries_use_fileio_libs: false
31+** libraries_use_ieeefp_emulation_libs: false
32+** libraries_use_eh_enabled_libs: false
33+** system_heap: L1
34+** system_heap_min_size: 2k
35+** system_stack: L1
36+** system_stack_min_size: 2k
37+** use_sdram: false
38+**
39+*/
40+
41+ARCHITECTURE(ADSP-BF518)
42+
43+SEARCH_DIR($ADI_DSP/Blackfin/lib)
44+
45+
46+// Workarounds are enabled, exceptions are disabled.
47+#define RT_LIB_NAME(x) lib ## x ## y.dlb
48+#define RT_LIB_NAME_EH(x) lib ## x ## y.dlb
49+#define RT_LIB_NAME_MT(x) lib ## x ## y.dlb
50+#define RT_LIB_NAME_EH_MT(x) lib ## x ## y.dlb
51+#define RT_OBJ_NAME(x) x ## y.doj
52+#define RT_OBJ_NAME_MT(x) x ## mty.doj
53+
54+
55+$LIBRARIES =
56+
57+/*$VDSG<insert-user-libraries-at-beginning> */
58+/* Text inserted between these $VDSG comments will be preserved */
59+/*$VDSG<insert-user-libraries-at-beginning> */
60+
61+ RT_LIB_NAME_MT(small532)
62+ ,RT_LIB_NAME_MT(io532)
63+ ,RT_LIB_NAME_MT(c532)
64+ ,RT_LIB_NAME_MT(event532)
65+ ,RT_LIB_NAME(ssl512)
66+ ,RT_LIB_NAME(drv512)
67+ ,RT_LIB_NAME_MT(x532)
68+ ,RT_LIB_NAME_EH_MT(cpp532)
69+ ,RT_LIB_NAME_EH_MT(cpprt532)
70+ ,RT_LIB_NAME(f64ieee532)
71+ ,RT_LIB_NAME(dsp532)
72+ ,RT_LIB_NAME(sftflt532)
73+ ,RT_LIB_NAME(etsi532)
74+ ,RT_OBJ_NAME_MT(idle532)
75+ ,RT_LIB_NAME_MT(rt_fileio532)
76+
77+/*$VDSG<insert-user-libraries-at-end> */
78+/* Text inserted between these $VDSG comments will be preserved */
79+/*$VDSG<insert-user-libraries-at-end> */
80+
81+ ;
82+
83+$OBJECTS =
84+
85+/*$VDSG<insert-user-objects-at-beginning> */
86+/* Text inserted between these $VDSG comments will be preserved */
87+/*$VDSG<insert-user-objects-at-beginning> */
88+
89+ RT_LIB_NAME(profile532)
90+ , $COMMAND_LINE_OBJECTS
91+ , "cplbtab518.doj"
92+
93+/*$VDSG<insert-user-objects-at-end> */
94+/* Text inserted between these $VDSG comments will be preserved */
95+/*$VDSG<insert-user-objects-at-end> */
96+
97+/* , RT_OBJ_NAME(crtn518) */
98+ ;
99+
100+$OBJS_LIBS_INTERNAL =
101+
102+/*$VDSG<insert-libraries-internal> */
103+/* Text inserted between these $VDSG comments will be preserved */
104+/*$VDSG<insert-libraries-internal> */
105+
106+ $OBJECTS{prefersMem("internal")}, $LIBRARIES{prefersMem("internal")}
107+
108+/*$VDSG<insert-libraries-internal-end> */
109+/* Text inserted between these $VDSG comments will be preserved */
110+/*$VDSG<insert-libraries-internal-end> */
111+
112+ ;
113+
114+$OBJS_LIBS_NOT_EXTERNAL =
115+
116+/*$VDSG<insert-libraries-not-external> */
117+/* Text inserted between these $VDSG comments will be preserved */
118+/*$VDSG<insert-libraries-not-external> */
119+
120+ $OBJECTS{!prefersMem("external")}, $LIBRARIES{!prefersMem("external")}
121+
122+/*$VDSG<insert-libraries-not-external-end> */
123+/* Text inserted between these $VDSG comments will be preserved */
124+/*$VDSG<insert-libraries-not-external-end> */
125+
126+ ;
127+
128+$OBJS_LIBS_WITH_AUTO_BREAKPOINTS =
129+
130+/*$VDSG<insert-libraries-with-auto-breakpoints> */
131+/* Text inserted between these $VDSG comments will be preserved */
132+/*$VDSG<insert-libraries-with-auto-breakpoints> */
133+
134+ $OBJECTS { FuncName("_main") ||
135+ FuncName("___lib_prog_term") ||
136+ FuncName("__primIO") ||
137+ FuncName("__ov_start") ||
138+ FuncName("__ov_end") ||
139+ FuncName("__dbg_assert") ||
140+ FuncName("__unknown_exception_occurred") ||
141+ FuncName("_cplb_init") ||
142+ FuncName("__KernelPanic") },
143+ $LIBRARIES { FuncName("_main") ||
144+ FuncName("___lib_prog_term") ||
145+ FuncName("__primIO") ||
146+ FuncName("__ov_start") ||
147+ FuncName("__ov_end") ||
148+ FuncName("__dbg_assert") ||
149+ FuncName("__unknown_exception_occurred") ||
150+ FuncName("_cplb_init") ||
151+ FuncName("__KernelPanic") }
152+
153+/*$VDSG<insert-libraries-with-auto-breakpoints-end> */
154+/* Text inserted between these $VDSG comments will be preserved */
155+/*$VDSG<insert-libraries-with-auto-breakpoints-end> */
156+
157+ ;
158+
159+$OBJS_LIBS_WITHOUT_AUTO_BREAKPOINTS =
160+
161+/*$VDSG<insert-libraries-without-auto-breakpoints> */
162+/* Text inserted between these $VDSG comments will be preserved */
163+/*$VDSG<insert-libraries-without-auto-breakpoints> */
164+
165+ $OBJECTS { !FuncName("_main") &&
166+ !FuncName("___lib_prog_term") &&
167+ !FuncName("__primIO") &&
168+ !FuncName("__ov_start") &&
169+ !FuncName("__ov_end") &&
170+ !FuncName("__dbg_assert") &&
171+ !FuncName("__unknown_exception_occurred") &&
172+ !FuncName("_cplb_init") &&
173+ !FuncName("__KernelPanic") },
174+ $LIBRARIES { !FuncName("_main") &&
175+ !FuncName("___lib_prog_term") &&
176+ !FuncName("__primIO") &&
177+ !FuncName("__ov_start") &&
178+ !FuncName("__ov_end") &&
179+ !FuncName("__dbg_assert") &&
180+ !FuncName("__unknown_exception_occurred") &&
181+ !FuncName("_cplb_init") &&
182+ !FuncName("__KernelPanic") }
183+
184+/*$VDSG<insert-libraries-without-auto-breakpoints-end> */
185+/* Text inserted between these $VDSG comments will be preserved */
186+/*$VDSG<insert-libraries-without-auto-breakpoints-end> */
187+
188+ ;
189+
190+
191+/*$VDSG<insert-user-macros> */
192+/* Text inserted between these $VDSG comments will be preserved */
193+/*$VDSG<insert-user-macros> */
194+
195+
196+/*$VDSG<customize-async-macros> */
197+/* This code is preserved if the LDF is re-generated. */
198+
199+
200+#define ASYNC0_MEMTYPE RAM
201+#define ASYNC1_MEMTYPE RAM
202+#define ASYNC2_MEMTYPE RAM
203+#define ASYNC3_MEMTYPE RAM
204+
205+
206+/*$VDSG<customize-async-macros> */
207+
208+
209+/*
210+** Memory map.
211+**
212+** 0xFFE00000 - 0xFFFFFFFF Core MMR registers (2MB)
213+** 0xFFC00000 - 0xFFDFFFFF System MMR registers (2MB)
214+** 0xFFB01000 - 0xFFBFFFFF Reserved
215+** 0xFFB00000 - 0xFFB00FFF Scratch SRAM (4K)
216+** 0xFFA14000 - 0xFFAFFFFF Reserved
217+** 0xFFA10000 - 0xFFA13FFF Code SRAM/CACHE (16K)
218+** 0xFFA0C000 - 0xFFA0FFFF Reserved
219+** 0xFFA08000 - 0xFFA0BFFF Instruction Bank B SRAM (16K) in 0.0, Reserved on 0.1 and up
220+** 0xFFA04000 - 0xFFA07FFF Reserved in 0.0, Instruction Bank B SRAM (16K) in 0.1 and up
221+** 0xFFA00000 - 0xFFA03FFF Instruction Bank A SRAM (16K)
222+** 0xFF908000 - 0xFF9FFFFF Reserved
223+** 0xFF904000 - 0xFF907FFF Data Bank B SRAM/CACHE (16k)
224+** 0xFF900000 - 0XFF903FFF Data Bank B SRAM (16k)
225+** 0xFF808000 - 0xFF8FFFFF Reserved
226+** 0xFF804000 - 0xFF807FFF Data Bank A SRAM/CACHE (16k)
227+** 0xFF800000 - 0XFF803FFF Data Bank A SRAM (16k)
228+** 0xEF008000 - 0xFF7FFFFF Reserved
229+** 0xEF000000 - 0xEF807FFF Boot ROM (32K)
230+** 0x20400000 - 0xEEFFFFFF Reserved
231+** 0x20300000 - 0x203FFFFF ASYNC MEMORY BANK 3 (1MB)
232+** 0x20200000 - 0x202FFFFF ASYNC MEMORY BANK 2 (1MB)
233+** 0x20100000 - 0x201FFFFF ASYNC MEMORY BANK 1 (1MB)
234+** 0x20000000 - 0x200FFFFF ASYNC MEMORY BANK 0 (1MB)
235+** 0x00000000 - 0x07FFFFFF SDRAM MEMORY (16MB - 128MB)
236+**
237+** Notes:
238+** 0xFF807FEF-0xFF807FFF Required by boot-loader.
239+*/
240+
241+MEMORY
242+{
243+ /* See readme.txt */
244+ MEM_L1_SCRATCH { START(0xFFB00000) END(0xFFB00FFF) TYPE(RAM) WIDTH(8) }
245+ MEM_L1_CODE_CACHE { START(0xFFA10000) END(0xFFA13FFF) TYPE(RAM) WIDTH(8) }
246+ MEM_L1_CODE { START(0xFFA00000) END(0xFFA07FFF) TYPE(RAM) WIDTH(8) }
247+
248+/* MEM_L1_DATA_B_CACHE { START(0xFF904000) END(0xFF907FFF) TYPE(RAM) WIDTH(8) } */
249+/* MEM_L1_DATA_B { START(0xFF900000) END(0xFF903FFF) TYPE(RAM) WIDTH(8) } */
250+ MEM_L1_DATA_B { START(0xFF900000) END(0xFF907FFF) TYPE(RAM) WIDTH(8) }
251+
252+/* MEM_L1_DATA_A_CACHE { START(0xFF804000) END(0xFF807FFF) TYPE(RAM) WIDTH(8) } */
253+/* MEM_L1_DATA_A { START(0xFF800000) END(0xFF803FFF) TYPE(RAM) WIDTH(8) } */
254+ MEM_L1_DATA_A { START(0xFF800000) END(0xFF807FFF) TYPE(RAM) WIDTH(8) }
255+
256+ MEM_ASYNC3 { START(0x20300000) END(0x203FFFFF) TYPE(RAM) WIDTH(8) }
257+ MEM_ASYNC2 { START(0x20200000) END(0x202FFFFF) TYPE(RAM) WIDTH(8) }
258+ MEM_ASYNC1 { START(0x20100000) END(0x201FFFFF) TYPE(RAM) WIDTH(8) }
259+ MEM_ASYNC0 { START(0x20000000) END(0x200FFFFF) TYPE(RAM) WIDTH(8) }
260+
261+ /* 64MB of SDRAM partitioned into 4 banks */
262+ MEM_SDRAM0_BANK0 { START(0x00000004) END(0x00FFFFFF) TYPE(RAM) WIDTH(8) }
263+ MEM_SDRAM0_BANK1 { START(0x01000000) END(0x01FFFFFF) TYPE(RAM) WIDTH(8) }
264+ MEM_SDRAM0_BANK2 { START(0x02000000) END(0x02FFFFFF) TYPE(RAM) WIDTH(8) }
265+ MEM_SDRAM0_BANK3 { START(0x03000000) END(0x03FFFFFF) TYPE(RAM) WIDTH(8) }
266+} /* MEMORY */
267+
268+PROCESSOR p0
269+{
270+ OUTPUT($COMMAND_LINE_OUTPUT_FILE)
271+ RESOLVE(start, 0xFFA00000)
272+ RESOLVE(___argv_string, 0xFF800000)
273+ KEEP(start, _main)
274+
275+ /*$VDSG<insert-user-ldf-commands> */
276+ /* Text inserted between these $VDSG comments will be preserved */
277+ /*$VDSG<insert-user-ldf-commands> */
278+
279+ SECTIONS
280+ {
281+ /* Workaround for hardware errata 05-00-0189 and 05-00-0310 -
282+ ** "Speculative (and fetches made at boundary of reserved memory
283+ ** space) for instruction or data fetches may cause false
284+ ** protection exceptions" and "False hardware errors caused by
285+ ** fetches at the boundary of reserved memory ".
286+ **
287+ ** Done by avoiding use of 76 bytes from at the end of blocks
288+ ** that are adjacent to reserved memory. Workaround is enabled
289+ ** for appropriate silicon revisions (-si-revision switch).
290+ */
291+ RESERVE(___wab0=MEMORY_END(MEM_L1_SCRATCH) - 75, ___l0 = 76)
292+ RESERVE(___wab1=MEMORY_END(MEM_L1_CODE_CACHE) - 75, ___l1 = 76)
293+ RESERVE(___wab2=MEMORY_END(MEM_L1_CODE) - 75, ___l2 = 76)
294+/* RESERVE(___wab3=MEMORY_END(MEM_L1_DATA_B_CACHE) - 75, ___l3 = 76) */
295+ RESERVE(___wab4=MEMORY_END(MEM_L1_DATA_B) - 75, ___l4 = 76)
296+/* RESERVE(___wab5=MEMORY_END(MEM_L1_DATA_A_CACHE) - 75, ___l5 = 76) */
297+ RESERVE(___wab6=MEMORY_END(MEM_L1_DATA_A) - 75, ___l6 = 76)
298+ RESERVE(___wab8=MEMORY_END(MEM_ASYNC3) - 75, ___l8 = 76)
299+ RESERVE(___wab9=MEMORY_END(MEM_SDRAM0_BANK3) - 75, ___l9 = 76)
300+
301+ /*$VDSG<insert-new-sections-at-the-start> */
302+ /* Text inserted between these $VDSG comments will be preserved */
303+ /*$VDSG<insert-new-sections-at-the-start> */
304+
305+ scratchpad NO_INIT
306+ {
307+ INPUT_SECTION_ALIGN(4)
308+
309+ /*$VDSG<insert-input-sections-at-the-start-of-scratchpad> */
310+ /* Text inserted between these $VDSG comments will be preserved */
311+ /*$VDSG<insert-input-sections-at-the-start-of-scratchpad> */
312+
313+ INPUT_SECTIONS($OBJECTS(L1_scratchpad) $LIBRARIES(L1_scratchpad))
314+
315+ /*$VDSG<insert-input-sections-at-the-end-of-scratchpad> */
316+ /* Text inserted between these $VDSG comments will be preserved */
317+ /*$VDSG<insert-input-sections-at-the-end-of-scratchpad> */
318+
319+ } > MEM_L1_SCRATCH
320+
321+ L1_code
322+ {
323+ INPUT_SECTION_ALIGN(4)
324+ ___l1_code_cache = 0;
325+ INPUT_SECTIONS($OBJS_LIBS_WITH_AUTO_BREAKPOINTS(program))
326+ INPUT_SECTIONS($OBJECTS(L1_code) $LIBRARIES(L1_code))
327+
328+ /*$VDSG<insert-input-sections-at-the-start-of-l1_code> */
329+ /* Text inserted between these $VDSG comments will be preserved */
330+ /*$VDSG<insert-input-sections-at-the-start-of-l1_code> */
331+
332+ INPUT_SECTIONS($OBJECTS(cplb_code) $LIBRARIES(cplb_code))
333+ INPUT_SECTIONS($OBJECTS(cplb) $LIBRARIES(cplb))
334+ INPUT_SECTIONS($OBJECTS(noncache_code) $LIBRARIES(noncache_code))
335+ INPUT_SECTIONS($OBJS_LIBS_INTERNAL(program))
336+ INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(program))
337+ INPUT_SECTIONS($OBJECTS(program) $LIBRARIES(program))
338+
339+ /*$VDSG<insert-input-sections-at-the-end-of-l1_code> */
340+ /* Text inserted between these $VDSG comments will be preserved */
341+ /*$VDSG<insert-input-sections-at-the-end-of-l1_code> */
342+
343+ } > MEM_L1_CODE
344+
345+ L1_data_a_tables
346+ {
347+ INPUT_SECTION_ALIGN(4)
348+ FORCE_CONTIGUITY
349+
350+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a_tables> */
351+ /* Text inserted between these $VDSG comments will be preserved */
352+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a_tables> */
353+
354+ INPUT_SECTIONS($OBJECTS(ctor) $LIBRARIES(ctor))
355+ INPUT_SECTIONS($OBJECTS(ctorl) $LIBRARIES(ctorl))
356+ INPUT_SECTIONS($OBJECTS(.gdt) $LIBRARIES(.gdt))
357+ INPUT_SECTIONS($OBJECTS(.gdtl) $LIBRARIES(.gdtl))
358+
359+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_a_tables> */
360+ /* Text inserted between these $VDSG comments will be preserved */
361+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_a_tables> */
362+
363+ } > MEM_L1_DATA_A
364+
365+ L1_data_a_1
366+ {
367+ INPUT_SECTION_ALIGN(4)
368+ ___l1_data_cache_a = 0;
369+ INPUT_SECTIONS($OBJECTS(L1_data_a) $LIBRARIES(L1_data_a))
370+ INPUT_SECTIONS($OBJECTS(L1_data) $LIBRARIES(L1_data))
371+
372+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a_1> */
373+ /* Text inserted between these $VDSG comments will be preserved */
374+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a_1> */
375+
376+ RESERVE(heaps_and_stack_in_L1_data_a, heaps_and_stack_in_L1_data_a_length = 4096,4)
377+ } > MEM_L1_DATA_A
378+
379+ L1_data_a_bsz ZERO_INIT
380+ {
381+ INPUT_SECTION_ALIGN(4)
382+
383+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a_bsz> */
384+ /* Text inserted between these $VDSG comments will be preserved */
385+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a_bsz> */
386+
387+ INPUT_SECTIONS( $OBJECTS(L1_bsz) $LIBRARIES(L1_bsz))
388+
389+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_a_bsz> */
390+ /* Text inserted between these $VDSG comments will be preserved */
391+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_a_bsz> */
392+
393+ } > MEM_L1_DATA_A
394+
395+ bsz_L1_data_a ZERO_INIT
396+ {
397+ INPUT_SECTION_ALIGN(4)
398+
399+ /*$VDSG<insert-input-sections-at-the-start-of-bsz_L1_data_a> */
400+ /* Text inserted between these $VDSG comments will be preserved */
401+ /*$VDSG<insert-input-sections-at-the-start-of-bsz_L1_data_a> */
402+
403+ INPUT_SECTIONS($OBJS_LIBS_INTERNAL(bsz))
404+ INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(bsz))
405+ INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz))
406+
407+ /*$VDSG<insert-input-sections-at-the-end-of-bsz_L1_data_a> */
408+ /* Text inserted between these $VDSG comments will be preserved */
409+ /*$VDSG<insert-input-sections-at-the-end-of-bsz_L1_data_a> */
410+
411+ } > MEM_L1_DATA_A
412+
413+ L1_data_a
414+ {
415+ INPUT_SECTION_ALIGN(4)
416+
417+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a> */
418+ /* Text inserted between these $VDSG comments will be preserved */
419+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a> */
420+
421+ INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
422+ INPUT_SECTIONS($OBJS_LIBS_INTERNAL(data1))
423+ INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(data1))
424+ INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
425+ INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
426+ INPUT_SECTIONS($OBJECTS(cplb_data) $LIBRARIES(cplb_data))
427+
428+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_a> */
429+ /* Text inserted between these $VDSG comments will be preserved */
430+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_a> */
431+
432+ } > MEM_L1_DATA_A
433+
434+ L1_data_a_2
435+ {
436+ INPUT_SECTION_ALIGN(4)
437+
438+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a_2> */
439+ /* Text inserted between these $VDSG comments will be preserved */
440+ /*$VDSG<insert-input-sections-at-the-start-of-L1_data_a_2> */
441+
442+ INPUT_SECTIONS($OBJECTS(vtbl) $LIBRARIES(vtbl))
443+ INPUT_SECTIONS($OBJECTS(.frt) $LIBRARIES(.frt))
444+ INPUT_SECTIONS($OBJECTS(.rtti) $LIBRARIES(.rtti))
445+ INPUT_SECTIONS($OBJECTS(.edt) $LIBRARIES(.edt))
446+ INPUT_SECTIONS($OBJECTS(.cht) $LIBRARIES(.cht))
447+
448+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_a_2> */
449+ /* Text inserted between these $VDSG comments will be preserved */
450+ /*$VDSG<insert-input-sections-at-the-end-of-L1_data_a_2> */
451+
452+ } > MEM_L1_DATA_A
453+
454+ L1_data_a_stack_heap
455+ {
456+ INPUT_SECTION_ALIGN(4)
457+ RESERVE_EXPAND(heaps_and_stack_in_L1_data_a, heaps_and_stack_in_L1_data_a_length , 0, 4)
458+ ldf_stack_space = heaps_and_stack_in_L1_data_a;
459+ ldf_stack_end = (ldf_stack_space + (((heaps_and_stack_in_L1_data_a_length * 2048) / 4096) - 4)) & 0xfffffffc;
460+ ldf_heap_space = ldf_stack_end + 4;
461+ ldf_heap_end = (ldf_heap_space + (((heaps_and_stack_in_L1_data_a_length * 2048) / 4096) - 4)) & 0xfffffffc;
462+ ldf_heap_length = ldf_heap_end - ldf_heap_space;
463+ } > MEM_L1_DATA_A
464+
465+ sdram0_bank0
466+ {
467+ INPUT_SECTION_ALIGN(4)
468+ INPUT_SECTIONS( $OBJECTS(sdram0) $LIBRARIES(sdram0))
469+ INPUT_SECTIONS( $OBJECTS(sdram0_bank0) $LIBRARIES(sdram0_bank0))
470+ INPUT_SECTIONS( $OBJECTS(noncache_code) $LIBRARIES(noncache_code))
471+/* INPUT_SECTIONS( $OBJECTS(program) $LIBRARIES(program)) */
472+ } >MEM_SDRAM0_BANK0
473+
474+ /*$VDSG<insert-new-sections-at-the-end> */
475+ /* Text inserted between these $VDSG comments will be preserved */
476+ /*$VDSG<insert-new-sections-at-the-end> */
477+
478+ } /* SECTIONS */
479+} /* p0 */
480+
--- /dev/null
+++ b/i2c-test/kernel/tools/blackfin-vdsp/sample1_ezkit_bf518/sample1_ezkit_bf518.dpg
@@ -0,0 +1,12 @@
1+<?xml version="1.0" encoding='ISO-8859-1'?>
2+<visualdsp-project-group generated="Fri Jul 20 12:39:45 2012" version="1.0.0.0" active-project="sample1_ezkit_bf518">
3+ <project name="libkernel" file="..\..\..\config\blackfin\ezkit_bf518\jsp_ezkit_bf518.dpj">
4+ </project>
5+ <project name="makeoffset" file="..\..\..\utils\blackfin-vdsp\makeoffset.dpj">
6+ </project>
7+ <project name="sample1_ezkit_bf518" file=".\sample1.dpj">
8+ <dependencies>
9+ <dependent-project>libkernel</dependent-project>
10+ </dependencies>
11+ </project>
12+</visualdsp-project-group>