Skip to content

Commit fc73b97

Browse files
authored
Merge pull request #709 from ckormanyos/chapter11_07a
Chapter11 07a
2 parents 2ba50f5 + ce1e75a commit fc73b97

File tree

3 files changed

+70
-49
lines changed

3 files changed

+70
-49
lines changed

examples/chapter11_07a/chapter11_07a.cppproj

Lines changed: 63 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -60,53 +60,53 @@
6060
<OutputFileExtension>.elf</OutputFileExtension>
6161
<ToolchainSettings>
6262
<AvrGccCpp>
63-
<avrgcc.common.Device>-mmcu=atmega328p -B "%24(PackRepoDir)\Atmel\ATmega_DFP\1.3.300\gcc\dev\atmega328p"</avrgcc.common.Device>
64-
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
65-
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
66-
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
67-
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
68-
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
69-
<avrgcc.compiler.directories.IncludePaths>
70-
<ListValues>
71-
<Value>%24(PackRepoDir)\Atmel\ATmega_DFP\1.3.300\include</Value>
72-
<Value>../src/os/FreeRTOS/Source/include/cfg/GCC-ATMega328</Value>
73-
<Value>../src/os/FreeRTOS/Source/portable/GCC-ATMega328</Value>
74-
<Value>../src/os/FreeRTOS/Source/include</Value>
75-
</ListValues>
76-
</avrgcc.compiler.directories.IncludePaths>
77-
<avrgcc.compiler.optimization.level>Optimize more (-O2)</avrgcc.compiler.optimization.level>
78-
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
79-
<avrgcc.compiler.warnings.Pedantic>True</avrgcc.compiler.warnings.Pedantic>
80-
<avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast</avrgcc.compiler.miscellaneous.OtherFlags>
81-
<avrgcccpp.compiler.directories.IncludePaths>
82-
<ListValues>
83-
<Value>../src/mcal/avr</Value>
84-
<Value>../src/os/FreeRTOS/Source/include</Value>
85-
<Value>../src/os/FreeRTOS/Source/include/cfg/GCC-ATMega328</Value>
86-
<Value>../src/os/FreeRTOS/Source/portable/GCC-ATMega328</Value>
87-
<Value>../src/app</Value>
88-
<Value>../src</Value>
89-
<Value>../src/util/STL</Value>
90-
<Value>../src/util/STL_C++XX_stdfloat</Value>
91-
</ListValues>
92-
</avrgcccpp.compiler.directories.IncludePaths>
93-
<avrgcccpp.compiler.optimization.level>Optimize more (-O2)</avrgcccpp.compiler.optimization.level>
94-
<avrgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection>False</avrgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection>
95-
<avrgcccpp.compiler.optimization.PrepareDataForGarbageCollection>False</avrgcccpp.compiler.optimization.PrepareDataForGarbageCollection>
96-
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
97-
<avrgcccpp.compiler.warnings.Pedantic>True</avrgcccpp.compiler.warnings.Pedantic>
98-
<avrgcccpp.compiler.miscellaneous.OtherFlags>-Wextra -gdwarf-2 -fno-use-cxa-atexit -fno-exceptions -finline-functions -finline-limit=64 -std=c++14 -fno-rtti -fno-nonansi-builtins -fno-threadsafe-statics -fno-enforce-eh-specs</avrgcccpp.compiler.miscellaneous.OtherFlags>
99-
<avrgcccpp.linker.general.DoNotUseStandardStartFiles>True</avrgcccpp.linker.general.DoNotUseStandardStartFiles>
100-
<avrgcccpp.linker.general.DoNotUseDefaultLibraries>True</avrgcccpp.linker.general.DoNotUseDefaultLibraries>
101-
<avrgcccpp.linker.general.NoStartupOrDefaultLibs>True</avrgcccpp.linker.general.NoStartupOrDefaultLibs>
102-
<avrgcccpp.linker.memorysettings.InitialStack>0x800</avrgcccpp.linker.memorysettings.InitialStack>
103-
<avrgcccpp.linker.miscellaneous.LinkerFlags>-Wl,-T../target/micros/avr/make/avr.ld</avrgcccpp.linker.miscellaneous.LinkerFlags>
104-
<avrgcccpp.assembler.general.IncludePaths>
105-
<ListValues>
106-
<Value>%24(PackRepoDir)\Atmel\ATmega_DFP\1.3.300\include</Value>
107-
</ListValues>
108-
</avrgcccpp.assembler.general.IncludePaths>
109-
</AvrGccCpp>
63+
<avrgcc.common.Device>-mmcu=atmega328p -B "%24(PackRepoDir)\Atmel\ATmega_DFP\1.3.300\gcc\dev\atmega328p"</avrgcc.common.Device>
64+
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
65+
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
66+
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
67+
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
68+
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
69+
<avrgcc.compiler.directories.IncludePaths>
70+
<ListValues>
71+
<Value>%24(PackRepoDir)\Atmel\ATmega_DFP\1.3.300\include</Value>
72+
<Value>../src/os/FreeRTOS/Source/include/cfg/GCC-ATMega328</Value>
73+
<Value>../src/os/FreeRTOS/Source/portable/GCC-ATMega328</Value>
74+
<Value>../src/os/FreeRTOS/Source/include</Value>
75+
</ListValues>
76+
</avrgcc.compiler.directories.IncludePaths>
77+
<avrgcc.compiler.optimization.level>Optimize more (-O2)</avrgcc.compiler.optimization.level>
78+
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
79+
<avrgcc.compiler.warnings.Pedantic>True</avrgcc.compiler.warnings.Pedantic>
80+
<avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast</avrgcc.compiler.miscellaneous.OtherFlags>
81+
<avrgcccpp.compiler.directories.IncludePaths>
82+
<ListValues>
83+
<Value>../src/mcal/avr</Value>
84+
<Value>../src/os/FreeRTOS/Source/include</Value>
85+
<Value>../src/os/FreeRTOS/Source/include/cfg/GCC-ATMega328</Value>
86+
<Value>../src/os/FreeRTOS/Source/portable/GCC-ATMega328</Value>
87+
<Value>../src/app</Value>
88+
<Value>../src</Value>
89+
<Value>../src/util/STL</Value>
90+
<Value>../src/util/STL_C++XX_stdfloat</Value>
91+
</ListValues>
92+
</avrgcccpp.compiler.directories.IncludePaths>
93+
<avrgcccpp.compiler.optimization.level>Optimize more (-O2)</avrgcccpp.compiler.optimization.level>
94+
<avrgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection>False</avrgcccpp.compiler.optimization.PrepareFunctionsForGarbageCollection>
95+
<avrgcccpp.compiler.optimization.PrepareDataForGarbageCollection>False</avrgcccpp.compiler.optimization.PrepareDataForGarbageCollection>
96+
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
97+
<avrgcccpp.compiler.warnings.Pedantic>True</avrgcccpp.compiler.warnings.Pedantic>
98+
<avrgcccpp.compiler.miscellaneous.OtherFlags>-Wextra -gdwarf-2 -fno-use-cxa-atexit -fno-exceptions -finline-functions -finline-limit=64 -std=c++14 -fno-rtti -fno-nonansi-builtins -fno-threadsafe-statics -fno-enforce-eh-specs</avrgcccpp.compiler.miscellaneous.OtherFlags>
99+
<avrgcccpp.linker.general.DoNotUseStandardStartFiles>True</avrgcccpp.linker.general.DoNotUseStandardStartFiles>
100+
<avrgcccpp.linker.general.DoNotUseDefaultLibraries>True</avrgcccpp.linker.general.DoNotUseDefaultLibraries>
101+
<avrgcccpp.linker.general.NoStartupOrDefaultLibs>True</avrgcccpp.linker.general.NoStartupOrDefaultLibs>
102+
<avrgcccpp.linker.memorysettings.InitialStack>0x800</avrgcccpp.linker.memorysettings.InitialStack>
103+
<avrgcccpp.linker.miscellaneous.LinkerFlags>-Wl,-T../target/micros/avr/make/avr.ld</avrgcccpp.linker.miscellaneous.LinkerFlags>
104+
<avrgcccpp.assembler.general.IncludePaths>
105+
<ListValues>
106+
<Value>%24(PackRepoDir)\Atmel\ATmega_DFP\1.3.300\include</Value>
107+
</ListValues>
108+
</avrgcccpp.assembler.general.IncludePaths>
109+
</AvrGccCpp>
110110
</ToolchainSettings>
111111
</PropertyGroup>
112112
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
@@ -159,6 +159,7 @@
159159
<Folder Include="src\math\" />
160160
<Folder Include="src\math\checksums" />
161161
<Folder Include="src\math\checksums\crc" />
162+
<Folder Include="src\math\checksums\hash" />
162163
<Folder Include="src\mcal_led\" />
163164
<Folder Include="src\mcal_memory" />
164165
<Folder Include="src\mcal_spi" />
@@ -210,6 +211,21 @@
210211
<Compile Include="src\math\checksums\crc\crc32.h">
211212
<SubType>compile</SubType>
212213
</Compile>
214+
<Compile Include="src\math\checksums\hash\hash_base.h">
215+
<SubType>compile</SubType>
216+
</Compile>
217+
<Compile Include="src\math\checksums\hash\hash_detail.h">
218+
<SubType>compile</SubType>
219+
</Compile>
220+
<Compile Include="src\math\checksums\hash\hash_sha1.h">
221+
<SubType>compile</SubType>
222+
</Compile>
223+
<Compile Include="src\math\checksums\hash\hash_sha256.h">
224+
<SubType>compile</SubType>
225+
</Compile>
226+
<Compile Include="src\math\checksums\hash\hash_stream_base.h">
227+
<SubType>compile</SubType>
228+
</Compile>
213229
<Compile Include="src\mcal\avr\mcal_benchmark.h">
214230
<SubType>compile</SubType>
215231
</Compile>
2.55 MB
Loading

examples/chapter11_07a/readme.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,10 @@ The pin most important pin connections are shown in the tables below.
6969
| SCK | portd.0 |
7070

7171

72-
TODO: The hardware setup with the $4~\text{MByte}$ serial SRAM
73-
is pictured in the image below.
72+
The hardware setup with the $4~\text{MByte}$ serial SRAM
73+
is pictured in the image below. The scene shows the ARDUINO(R)
74+
with the external serial RAM executing cyclic, back-to-back $10,000$
75+
decimal digit $\pi$ calculations.
76+
One successful calculation is complete and the second one is well underway.
77+
78+
![](./images/board11_07a.jpg)

0 commit comments

Comments
 (0)