Compare commits
655 Commits
v3.15.8
...
v4.1.0-sta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50fbdb961f | ||
|
|
77fda069a8 | ||
|
|
2befc9d68f | ||
|
|
13957e7762 | ||
|
|
589b056ecb | ||
|
|
8f5a0dc66a | ||
|
|
f8e2285ab8 | ||
|
|
7ca9b23b76 | ||
|
|
c443116189 | ||
|
|
fc918f9052 | ||
|
|
aec980b803 | ||
|
|
aed1e433b2 | ||
|
|
ab01cd9be1 | ||
|
|
2abcffd4a7 | ||
|
|
0bcae86038 | ||
|
|
45abd67bd1 | ||
|
|
b73c53471c | ||
|
|
6fd623248e | ||
|
|
7db3f8e2c6 | ||
|
|
d1700d3739 | ||
|
|
7fe4521083 | ||
|
|
0555668f2c | ||
|
|
3aad9a2673 | ||
|
|
9c245b7fc5 | ||
|
|
c3c705f82b | ||
|
|
7e79e3a6bf | ||
|
|
f63656f18b | ||
|
|
dc71f957f3 | ||
|
|
8b6e66f095 | ||
|
|
9a2f4bb8f8 | ||
|
|
af8395b17b | ||
|
|
8bf8fcca60 | ||
|
|
483f6a5acd | ||
|
|
5f3fd3ae86 | ||
|
|
fdeb65dec8 | ||
|
|
cb2ed60305 | ||
|
|
7b021d68c3 | ||
|
|
5067d1fc10 | ||
|
|
8b8ff2ac34 | ||
|
|
99d3ea9e56 | ||
|
|
4b0bb75909 | ||
|
|
2e308ea82c | ||
|
|
9f1aa1a27c | ||
|
|
d51b958334 | ||
|
|
8112c1236d | ||
|
|
9af9941b90 | ||
|
|
d620433d1d | ||
|
|
4e648dd35f | ||
|
|
3cdb4f8bf0 | ||
|
|
7367da3fb6 | ||
|
|
6e6c93624a | ||
|
|
cba8a7f155 | ||
|
|
4362ce5f6b | ||
|
|
a25d04044a | ||
|
|
60fc9b3a1d | ||
|
|
d33a95352a | ||
|
|
f79a119c82 | ||
|
|
d7a86de969 | ||
|
|
84653a7fb5 | ||
|
|
a7a51d8f33 | ||
|
|
ab0029f9ac | ||
|
|
2972b1c467 | ||
|
|
5743a1c80f | ||
|
|
9d9495f8b6 | ||
|
|
051112a101 | ||
|
|
b4765a5c9e | ||
|
|
88f923a2a1 | ||
|
|
3756a2c8c7 | ||
|
|
a6cc9af1fc | ||
|
|
6c9fac2a71 | ||
|
|
85ce959031 | ||
|
|
45b280a53e | ||
|
|
d7b50874f6 | ||
|
|
92bd585f25 | ||
|
|
9cd6a992c5 | ||
|
|
d88458a447 | ||
|
|
9daccb3300 | ||
|
|
964fd95a43 | ||
|
|
3e6246af59 | ||
|
|
e01f9961ac | ||
|
|
b8c6bc0d7f | ||
|
|
b7986ccb17 | ||
|
|
4d13121de1 | ||
|
|
0bb6b388c0 | ||
|
|
97a6dc9e7e | ||
|
|
1bcec1b9ab | ||
|
|
efe276414b | ||
|
|
79165ce8cb | ||
|
|
44b8106da6 | ||
|
|
bd40a59f3e | ||
|
|
36920b1469 | ||
|
|
d824b78af0 | ||
|
|
baf65f4f43 | ||
|
|
e6ab7d165c | ||
|
|
66db74d827 | ||
|
|
406ff31fc8 | ||
|
|
1070aba5e2 | ||
|
|
2610d9ce94 | ||
|
|
74324bb1b5 | ||
|
|
60d6d71636 | ||
|
|
2a4b935e07 | ||
|
|
cc453c6c12 | ||
|
|
b5a5100068 | ||
|
|
964dac96a7 | ||
|
|
011fa6bafd | ||
|
|
c9f18bfe3b | ||
|
|
4cf8923838 | ||
|
|
8dccecc531 | ||
|
|
61e1491407 | ||
|
|
9b654d25d1 | ||
|
|
5dcd421580 | ||
|
|
ab9d89cb31 | ||
|
|
02871d5ed4 | ||
|
|
0b5ee1b633 | ||
|
|
8327984523 | ||
|
|
f2bb5e8944 | ||
|
|
7c393edf49 | ||
|
|
58fe2781f1 | ||
|
|
a7acacff41 | ||
|
|
d5f3fa2ff8 | ||
|
|
01c9fa1830 | ||
|
|
eba78cd87a | ||
|
|
40864da533 | ||
|
|
0e33e2d9ee | ||
|
|
28aa99c3e3 | ||
|
|
21afcf17a8 | ||
|
|
b02e1e8d59 | ||
|
|
8be6c0c08c | ||
|
|
b61803f165 | ||
|
|
fd71618f10 | ||
|
|
b2f919ec13 | ||
|
|
354ec9cd9d | ||
|
|
f8e3e63938 | ||
|
|
3652929573 | ||
|
|
4500f2d773 | ||
|
|
08bd5000f1 | ||
|
|
db17fce49a | ||
|
|
b7e00eea1a | ||
|
|
1fe69992e2 | ||
|
|
373bbf6660 | ||
|
|
707156f53b | ||
|
|
4ff9d951f6 | ||
|
|
1d05503d20 | ||
|
|
4eaabd9be5 | ||
|
|
60af8bdb7c | ||
|
|
43ce956d9c | ||
|
|
1634d9571c | ||
|
|
e96ede65ce | ||
|
|
46a2a437d4 | ||
|
|
1592d6f856 | ||
|
|
a3e4a2fd6e | ||
|
|
8312ceb14c | ||
|
|
5f9a851adb | ||
|
|
7d2ac604f5 | ||
|
|
8a0c058782 | ||
|
|
f51a8fffde | ||
|
|
8bea016d69 | ||
|
|
c7d1424adf | ||
|
|
e7fd45537d | ||
|
|
7520137601 | ||
|
|
da5357cadd | ||
|
|
0dbba5f056 | ||
|
|
6478f92e04 | ||
|
|
cb4f9afd6d | ||
|
|
3a378520c0 | ||
|
|
53c1a6c264 | ||
|
|
eceb460cff | ||
|
|
ef64cd300c | ||
|
|
dcdd6d6d6f | ||
|
|
a9fff57063 | ||
|
|
ee023c6bf4 | ||
|
|
da6ed416be | ||
|
|
26384d4936 | ||
|
|
b957415609 | ||
|
|
851a547fd5 | ||
|
|
15552be934 | ||
|
|
036f6a1177 | ||
|
|
785d984a3c | ||
|
|
56d7da3130 | ||
|
|
587e962331 | ||
|
|
2ba89cb7a9 | ||
|
|
c7964b62c0 | ||
|
|
358757cd2e | ||
|
|
0100159079 | ||
|
|
78956534f0 | ||
|
|
0e3881d418 | ||
|
|
8439beb525 | ||
|
|
0eaccb7259 | ||
|
|
0203a25b60 | ||
|
|
9715431921 | ||
|
|
c600f7659a | ||
|
|
2ee7d05dcc | ||
|
|
71fe3313d3 | ||
|
|
c826c605a3 | ||
|
|
f42c94e3bc | ||
|
|
0fed159abd | ||
|
|
f1f6ac9308 | ||
|
|
1d9d9e2955 | ||
|
|
6d04d784c4 | ||
|
|
b236a1c32f | ||
|
|
c114bcaead | ||
|
|
49a631996c | ||
|
|
fba89ae034 | ||
|
|
f4548945f7 | ||
|
|
e4e6ed3701 | ||
|
|
a28e075290 | ||
|
|
7225823f90 | ||
|
|
2460effb0b | ||
|
|
ce251417f5 | ||
|
|
b631670cca | ||
|
|
c82c9b481b | ||
|
|
e1b03aa056 | ||
|
|
e7b3b31d9f | ||
|
|
7bde02b3e7 | ||
|
|
19cb31d429 | ||
|
|
4581342fb0 | ||
|
|
71cb117dda | ||
|
|
d378d3c009 | ||
|
|
dd9dd6306e | ||
|
|
c500fd5a86 | ||
|
|
c2032c64d2 | ||
|
|
2cf4a74b47 | ||
|
|
36fb4e2f2d | ||
|
|
18ac566f48 | ||
|
|
a4bdfbf953 | ||
|
|
2435ec2d6b | ||
|
|
102ecac70c | ||
|
|
911c8df185 | ||
|
|
1f3d9c04c0 | ||
|
|
01ad44feef | ||
|
|
24042c973a | ||
|
|
48d4ed38ac | ||
|
|
de5ff0acea | ||
|
|
1f0a46331b | ||
|
|
540c5cdd2f | ||
|
|
a48981c3c6 | ||
|
|
cdf0241ed0 | ||
|
|
c5aa13021a | ||
|
|
d7ab3a6dec | ||
|
|
02c2782e39 | ||
|
|
efcf06ef7c | ||
|
|
6a594218bc | ||
|
|
292aa196fb | ||
|
|
a2f943984f | ||
|
|
f114932a03 | ||
|
|
90228e1275 | ||
|
|
87d24f4488 | ||
|
|
090899e74e | ||
|
|
fdd01c8c8c | ||
|
|
64b8af728b | ||
|
|
4e3004639d | ||
|
|
97780149a5 | ||
|
|
25aeb8238e | ||
|
|
9f9155b6f2 | ||
|
|
074e770c98 | ||
|
|
fee81ce49e | ||
|
|
77248e4e2a | ||
|
|
4f80c7c94e | ||
|
|
19372c8199 | ||
|
|
b4571f1f5a | ||
|
|
290663f8b2 | ||
|
|
7601276411 | ||
|
|
4367761367 | ||
|
|
978928be83 | ||
|
|
80dd6cc143 | ||
|
|
9fbe471156 | ||
|
|
e429185535 | ||
|
|
7624d90590 | ||
|
|
7726bbbff2 | ||
|
|
e01ae09809 | ||
|
|
a5fabda5c6 | ||
|
|
19c348b5c7 | ||
|
|
33d27a391a | ||
|
|
173163d1a3 | ||
|
|
af9d82963e | ||
|
|
fea89c52f4 | ||
|
|
5601aa4634 | ||
|
|
f1ecf33d94 | ||
|
|
765b075e50 | ||
|
|
87fb9f73e9 | ||
|
|
5ea13a09f6 | ||
|
|
d42bdf9c0b | ||
|
|
263769765c | ||
|
|
f26a9589ff | ||
|
|
a89a2839de | ||
|
|
ebbfe769e3 | ||
|
|
6564d03369 | ||
|
|
86b558300b | ||
|
|
9906a1045b | ||
|
|
ac5a5dfd56 | ||
|
|
6fe4c3ff34 | ||
|
|
cab4a8c9b1 | ||
|
|
e7fdb1360a | ||
|
|
a742cf9bf8 | ||
|
|
5b5d03d5ac | ||
|
|
6cbe8219a3 | ||
|
|
ad8f9c6134 | ||
|
|
38d1e908d6 | ||
|
|
b53e94b49a | ||
|
|
484f7a6c32 | ||
|
|
d8a3768464 | ||
|
|
827fc67e52 | ||
|
|
ec4dad76e2 | ||
|
|
295dd4ff21 | ||
|
|
cb9e0a1973 | ||
|
|
c77b99a8a4 | ||
|
|
04f24881cb | ||
|
|
be65e31cdc | ||
|
|
c85eae1322 | ||
|
|
797dae9d74 | ||
|
|
1ce8e227d2 | ||
|
|
245db5d5ce | ||
|
|
1781a9fd76 | ||
|
|
27a9080ac3 | ||
|
|
cae4d400b9 | ||
|
|
6ab24a2ca3 | ||
|
|
3b544b8584 | ||
|
|
7a9d3db514 | ||
|
|
6c713e4b88 | ||
|
|
fd50248139 | ||
|
|
651087ab5a | ||
|
|
7a671eb70b | ||
|
|
aca46f42fb | ||
|
|
b2a5516c63 | ||
|
|
88bf5d9676 | ||
|
|
3b0a7e679a | ||
|
|
5b658ebff5 | ||
|
|
0cdaf43a14 | ||
|
|
a8b469eb7f | ||
|
|
10dde24363 | ||
|
|
5aa5f350ba | ||
|
|
9d4d877919 | ||
|
|
f923409f1f | ||
|
|
dbeb5d702f | ||
|
|
bf9f912b29 | ||
|
|
79bf578fd3 | ||
|
|
e43e03c30a | ||
|
|
1605ab86d2 | ||
|
|
34dc41fe75 | ||
|
|
4e2e207e67 | ||
|
|
9205ee70f4 | ||
|
|
94d9ce1dfa | ||
|
|
ff5bf7aea1 | ||
|
|
dcd6e02de9 | ||
|
|
a36296a959 | ||
|
|
ade8f780a9 | ||
|
|
891a645eaa | ||
|
|
a130ce2eed | ||
|
|
b1442633dd | ||
|
|
3c1569dff7 | ||
|
|
683646e452 | ||
|
|
08531a0f31 | ||
|
|
3e7a6054a9 | ||
|
|
06eba2c1e2 | ||
|
|
1a76f0cd26 | ||
|
|
78c6ad4d84 | ||
|
|
0dd3305f06 | ||
|
|
5e343b8e7e | ||
|
|
814c5776fd | ||
|
|
b25177ca6c | ||
|
|
dc98832757 | ||
|
|
dc313ccf6e | ||
|
|
e00ba1c66a | ||
|
|
7cdda4d595 | ||
|
|
86101468fc | ||
|
|
443fef6a6a | ||
|
|
9d736898cc | ||
|
|
8aacd7b802 | ||
|
|
b68253c180 | ||
|
|
ef29aa94ea | ||
|
|
ea797fd98e | ||
|
|
bbb72946b7 | ||
|
|
1830a0a74c | ||
|
|
45703a8d72 | ||
|
|
fdabe614f8 | ||
|
|
dfde631cb2 | ||
|
|
12a7c32530 | ||
|
|
547c09e1d7 | ||
|
|
a87552b37f | ||
|
|
edef75c70f | ||
|
|
6b51f2d5b2 | ||
|
|
2a6ab9549b | ||
|
|
3e24212780 | ||
|
|
5d2f34aa6d | ||
|
|
34c1d5cba0 | ||
|
|
6c65550eab | ||
|
|
90ce5c04dc | ||
|
|
f8c9285b92 | ||
|
|
393ca1b30c | ||
|
|
de299848c1 | ||
|
|
82796d4b4c | ||
|
|
29101a29c9 | ||
|
|
ec2849b885 | ||
|
|
efc96e40d1 | ||
|
|
378f5c0d4b | ||
|
|
b291b51988 | ||
|
|
e1537b2a56 | ||
|
|
e4555b5bf5 | ||
|
|
abced6c365 | ||
|
|
b787465b42 | ||
|
|
083183e3b1 | ||
|
|
db1fabbdd4 | ||
|
|
6976219b05 | ||
|
|
7da46501cc | ||
|
|
788443d3cf | ||
|
|
494e469dd2 | ||
|
|
72f3329faa | ||
|
|
bf3d876e6a | ||
|
|
0d3541594f | ||
|
|
2cf264a9d5 | ||
|
|
3f8e0a67e6 | ||
|
|
3bf01072d8 | ||
|
|
1ab5a022c6 | ||
|
|
5bfc49f63f | ||
|
|
4ee4cb2068 | ||
|
|
013e4429da | ||
|
|
3c63f70cde | ||
|
|
bd618970c1 | ||
|
|
68390b1ba3 | ||
|
|
364bf50a94 | ||
|
|
02500365bf | ||
|
|
1d023b344d | ||
|
|
e5bf2ed1d1 | ||
|
|
ae9ef3998c | ||
|
|
1fffe4a463 | ||
|
|
b6fcbe8436 | ||
|
|
35654530ba | ||
|
|
173016ef47 | ||
|
|
13909fc407 | ||
|
|
a90001581e | ||
|
|
333b666f6b | ||
|
|
9b62141580 | ||
|
|
2c5f268f16 | ||
|
|
4f75d4eea2 | ||
|
|
c78b0c3a40 | ||
|
|
bbf8ed408d | ||
|
|
ce43044426 | ||
|
|
5c8cf9ecd2 | ||
|
|
460556ff45 | ||
|
|
6a964123a1 | ||
|
|
f5f1fec840 | ||
|
|
2ad80df1c7 | ||
|
|
56d7766ba3 | ||
|
|
cc5ba81245 | ||
|
|
ad857c40d1 | ||
|
|
9c3cb2fbba | ||
|
|
db83e6dd31 | ||
|
|
f81446bf69 | ||
|
|
a59488b299 | ||
|
|
b224f6fac9 | ||
|
|
e13c903ad2 | ||
|
|
51251bc421 | ||
|
|
e4059a65b9 | ||
|
|
c7b5f772aa | ||
|
|
e8afb6ea51 | ||
|
|
26cbfcdee0 | ||
|
|
9ce32e3808 | ||
|
|
9ad48067f6 | ||
|
|
817eaa6da4 | ||
|
|
6c0989ba4d | ||
|
|
6d1a11eefb | ||
|
|
6968797848 | ||
|
|
1c22f14d1c | ||
|
|
1906179a1b | ||
|
|
b0d65d2a3e | ||
|
|
7e9e50c03b | ||
|
|
5b21da4dc5 | ||
|
|
d7c6683d9b | ||
|
|
b599dc2b9d | ||
|
|
9ea2dbea95 | ||
|
|
cffe7eccde | ||
|
|
b1c791dbd9 | ||
|
|
8c6316eb9c | ||
|
|
15c7463150 | ||
|
|
ed5feaf7ae | ||
|
|
05987ec717 | ||
|
|
b40e0888ad | ||
|
|
b24e122a0d | ||
|
|
7aa159ca6d | ||
|
|
f493ff859c | ||
|
|
6b325929e5 | ||
|
|
3e42c6edcd | ||
|
|
6c9e64129d | ||
|
|
d9e6b8a62d | ||
|
|
3d747f7c87 | ||
|
|
744c247e92 | ||
|
|
441fb60679 | ||
|
|
50a854c4cf | ||
|
|
f7a7a97f8c | ||
|
|
f66aa60385 | ||
|
|
e07e41d0aa | ||
|
|
21f2beca9f | ||
|
|
5ab6d58504 | ||
|
|
1c237af5b3 | ||
|
|
fbfd7a4dea | ||
|
|
22b2ae7358 | ||
|
|
fb3ca1b53e | ||
|
|
fed2bc5f72 | ||
|
|
eebf07b67c | ||
|
|
384b240ea2 | ||
|
|
6a3eccd344 | ||
|
|
1ac74b0061 | ||
|
|
ba8b104d7b | ||
|
|
246c444b93 | ||
|
|
60d3dec246 | ||
|
|
d42f3bbdb6 | ||
|
|
ce4b54944b | ||
|
|
2817f6ed1a | ||
|
|
0ef4b7e933 | ||
|
|
45b6a3b67d | ||
|
|
6ff2039b1f | ||
|
|
b1ea7c035f | ||
|
|
172fd6d233 | ||
|
|
8a1ad3fcff | ||
|
|
4b56af67a2 | ||
|
|
ac47e889f7 | ||
|
|
3e3f746f3b | ||
|
|
e08b36ea9c | ||
|
|
6361ec2f10 | ||
|
|
397c2a4f8a | ||
|
|
d19c37de2e | ||
|
|
5a2cd5fc90 | ||
|
|
3feef07c93 | ||
|
|
6b89b1f97a | ||
|
|
27ea9d9bce | ||
|
|
bca69488b2 | ||
|
|
a42290dd57 | ||
|
|
2f4507e4f1 | ||
|
|
508cda43a2 | ||
|
|
f54a7e50ce | ||
|
|
4c42630f2b | ||
|
|
41bc83c5ce | ||
|
|
68c576e0d9 | ||
|
|
06e5f8c39b | ||
|
|
effca6c081 | ||
|
|
e810551aab | ||
|
|
0d48a4a1a7 | ||
|
|
b4ba3d7ca6 | ||
|
|
28a1ff5d59 | ||
|
|
696fe47de2 | ||
|
|
70490a4db6 | ||
|
|
7ac5f8fde1 | ||
|
|
03e0dd6ca3 | ||
|
|
764b783317 | ||
|
|
666e47faaa | ||
|
|
4ea1a7e651 | ||
|
|
ad32ace0a1 | ||
|
|
7d1bb05c0c | ||
|
|
700eca4566 | ||
|
|
f1af32b783 | ||
|
|
57cdbffc2c | ||
|
|
554af3dcfa | ||
|
|
3710a0a6c8 | ||
|
|
2b59aefe80 | ||
|
|
8b6bd306f3 | ||
|
|
436a46a9f4 | ||
|
|
ab0beb354b | ||
|
|
b8035371f4 | ||
|
|
c0ee01bbf6 | ||
|
|
1eb46c697f | ||
|
|
9bd40353c2 | ||
|
|
8a4e8067f6 | ||
|
|
201c85478e | ||
|
|
a1ed8e7a67 | ||
|
|
2342ea15eb | ||
|
|
cb57a5f3ed | ||
|
|
b7663a940e | ||
|
|
6e1b05316d | ||
|
|
b3a1d6bff1 | ||
|
|
de21642db1 | ||
|
|
616b75bfba | ||
|
|
9c9279817b | ||
|
|
3d9c660688 | ||
|
|
68c04a95e0 | ||
|
|
1dcd6b92a0 | ||
|
|
ea13e0482a | ||
|
|
3be4682cda | ||
|
|
d8bec5e034 | ||
|
|
d26a6b59a3 | ||
|
|
413e3b36cb | ||
|
|
be83a54f22 | ||
|
|
619cf89106 | ||
|
|
0e962aa6e5 | ||
|
|
934c1b7952 | ||
|
|
d699b65a25 | ||
|
|
d61684f210 | ||
|
|
f64c165a8b | ||
|
|
b7deab9787 | ||
|
|
e897661402 | ||
|
|
e3ddfc42af | ||
|
|
5e573b518a | ||
|
|
dc3b81f633 | ||
|
|
42eacece82 | ||
|
|
a364874b48 | ||
|
|
980970da86 | ||
|
|
99b5188ee9 | ||
|
|
da27a4da10 | ||
|
|
222f9f4f47 | ||
|
|
8569d14cb3 | ||
|
|
621e1656b4 | ||
|
|
5f332fa29e | ||
|
|
020b27bab2 | ||
|
|
4f2d4420df | ||
|
|
5083330b86 | ||
|
|
de869080be | ||
|
|
cce06e8c50 | ||
|
|
ee17bd7470 | ||
|
|
6372634eda | ||
|
|
330bbb2f8b | ||
|
|
e8c3e8dd63 | ||
|
|
fd089b4b6b | ||
|
|
1f7f424075 | ||
|
|
9e93bd1000 | ||
|
|
2e41d25bca | ||
|
|
164eb30732 | ||
|
|
65c72ddfe1 | ||
|
|
57d8e070f9 | ||
|
|
e01723a435 | ||
|
|
8a47af0edc | ||
|
|
95658be0ce | ||
|
|
aa70ac0be2 | ||
|
|
7b44fbe265 | ||
|
|
5e0a77704b | ||
|
|
801ef2c62c | ||
|
|
28d8730948 | ||
|
|
39626bb349 | ||
|
|
7389553bd6 | ||
|
|
a376e17aee | ||
|
|
f78ba4649b | ||
|
|
1f6314746c | ||
|
|
161e815c03 | ||
|
|
b842b8583e | ||
|
|
0ee1e103dd | ||
|
|
239f878bd1 | ||
|
|
f3c2125259 | ||
|
|
1c6911634c | ||
|
|
98e53cb4eb | ||
|
|
c7f8f9fc90 | ||
|
|
6c3ed46542 | ||
|
|
7328fce60d | ||
|
|
9a67d2a869 | ||
|
|
f8ff68ca7a | ||
|
|
099d813a8c | ||
|
|
8df27ffdcf | ||
|
|
cb39768e09 | ||
|
|
92fd92c208 | ||
|
|
034d1dff21 | ||
|
|
64a528f318 | ||
|
|
4821d06dff | ||
|
|
6a25b42efb | ||
|
|
50598dcbac | ||
|
|
6f760d796c | ||
|
|
cca27f6724 | ||
|
|
13f4086d53 | ||
|
|
55fdeacf87 |
10
.gitignore
vendored
10
.gitignore
vendored
@@ -78,6 +78,7 @@ tests/unit
|
||||
testsuite/testsuite.test
|
||||
tests/unit.test
|
||||
tests/bio_write_test.txt
|
||||
test-write-dhparams.pem
|
||||
testsuite/*.der
|
||||
testsuite/*.pem
|
||||
testsuite/*.raw
|
||||
@@ -295,6 +296,7 @@ Backup
|
||||
UpgradeLog.htm
|
||||
*.aps
|
||||
*.VC.db
|
||||
*.filters
|
||||
|
||||
IDE/INTIME-RTOS/Debug_*
|
||||
IDE/VS-ARM/.vs
|
||||
@@ -318,3 +320,11 @@ scripts/memtest.txt
|
||||
doc/doxygen_warnings
|
||||
doc/html
|
||||
doc/pdf
|
||||
|
||||
# XCODE Index
|
||||
IDE/XCODE/Index
|
||||
|
||||
# ARM DS-5
|
||||
\.settings/
|
||||
\.cproject
|
||||
\.project
|
||||
|
||||
162
ChangeLog.md
162
ChangeLog.md
@@ -1,3 +1,165 @@
|
||||
# wolfSSL Release 4.1.0 (07/22/2019)
|
||||
|
||||
Release 4.1.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
* A fix for the check on return value when verifying PKCS7 bundle signatures, all users with applications using the function wc_PKCS7_VerifySignedData should update
|
||||
* Adding the function wc_PKCS7_GetSignerSID for PKCS7 firmware bundles as a getter function for the signers SID
|
||||
* PKCS7 callback functions for unwrapping of CEK and for decryption
|
||||
* Adding the error value PKCS7_SIGNEEDS_CHECK when no certificates are available in a PKCS7 bundle to verify the signature
|
||||
* TLS 1.3 fixes including if major version is TLS Draft then it is now ignored and if version negotiation occurs but none were matched then an alert is now sent
|
||||
* Addition of the WOLFSSL_PSK_ONE_ID macro for indicating that only one identity in TLS 1.3 PSK is available and will be cached
|
||||
* Adding sanity checks on length of PSK identity from a TLS 1.3 pre-shared key extension
|
||||
* Additional sanity checks and alert messages added for TLS 1.3
|
||||
* Adding XTIME_MS macro to simplify the tls13.c time requirement
|
||||
* Improvements and refactoring of code related to parsing and creating TLS 1.3 client hello packets
|
||||
* TLS 1.3 version renegotiation now happens before interpreting ClientHello message
|
||||
* Chacha20 algorithm optimizations on the ARM architecture for performance increase
|
||||
* Poly1305 algorithm performance enhancements for the ARM architecture using the SIMD NEON extension
|
||||
* Curve25519 and Ed25519 optimized for ARM architecture for performance increase
|
||||
* SHA-512/384 optimizations for performance with ARM architecture using the SIMD NEON extension
|
||||
* Sniffer updates including adding support for the null cipher and static ECDH key exchange and new SSLWatchCb callback
|
||||
* Cipher suite TLS_RSA_WITH_NULL_MD5 for use with the sniffer (off by default)
|
||||
* Sniffer statistic print outs with the macro WOLFSSL_SNIFFER_STATS defined
|
||||
* A fix for wolfSSL_DH_generate_key when WOLFSSL_SMALL_STACK is defined
|
||||
* wolfSSL_BN_Init implementation for opensslextra builds
|
||||
* Updates to the function wolfSSL_i2d_RSAPrivateKey and additional automated tests
|
||||
* Fixes for EVP_CipherFinal edge cases to match behavior desired
|
||||
* Check for appropriate private vs public flag with ECC key decode in wolfSSL_EC_KEY_LoadDer_ex, thanks to Eric Miller for the report
|
||||
* Implementation of the function wolfSSL_PEM_write_DHparams
|
||||
* wolfSSL_RAND_seed is called in wolfSSL_Init now when opensslextra is enabled
|
||||
* CryptoCell-310 support on nRF52840 added
|
||||
* Fixes for atmel_ecc_create_pms to free the used slot.
|
||||
* Fixes for building ATECC with ATCAPRINTF or WOLFSSL_PUBLIC_MP
|
||||
* Cortex-M code changes to support IAR compiler
|
||||
* Improvements to STM32 AES-GCM performance
|
||||
* Fixes for 16-bit systems including PK callbacks, ATECC and LowResTimer function ptoto.
|
||||
* IAR-EWARM compiler warning fix
|
||||
* Clean up of user_settings for CS+ port
|
||||
* Updating Renesas example projects to the latest version
|
||||
* Micrium updates adjusting STATIC macro name and added inline flag
|
||||
* Fixes for building with WOLFSSL_CUSTOM_CURVES on Windows
|
||||
* Updates and refactor to the default build settings with Arduino
|
||||
* Fixes for visibility tags with Cygwin build
|
||||
* STSAFE Improvements to support wolfSSL Crypto Callbacks
|
||||
* Improvements to NetBSD builds and mutex use in test case
|
||||
* Updating TI hardware offload with WOLFSSL_TI_CRYPT build
|
||||
* Maintaining Xilinx FreeRTOS port by adjusting time.h include in wolfSSL
|
||||
* SiFive HiFive E31 RISC‐V core family port
|
||||
* Port for Telit IoT AppZone SDK
|
||||
* OCSP Response signed by issuer with identical SKID fix
|
||||
* Fix for sending revoked certificate with OCSP
|
||||
* Honor the status sent over connection with peers and do not perform an internal OCSP lookup
|
||||
* Adding the build flag `--enable-ecccustcurves=all` to enable all curve types
|
||||
* Support add for Ed25519ctx and Ed25519ph sign/verify algorithms as per RFC 8032
|
||||
* Addition of the macro WOLFSSL_NO_SIGALG to disable signature algorithms extension
|
||||
* wc_AesCtrEncrypt in place addition, where input and output buffer can be the same buffer
|
||||
* Single shot API added for SHA3; wc_Sha3_224Hash, wc_Sha3_256Hash, wc_Sha3_384Hash, wc_Sha3_512Hash
|
||||
* Function additions for JSSE support some of which are wolfSSL_get_ciphers_iana and wolfSSL_X509_verify along with expansion of the --enable-jni option
|
||||
* Macro guards for more modular SHA3 build (i.e. support for 384 size only)
|
||||
* Benchmarking -thread <num> argument support for asynchronous crypto
|
||||
* Blake2s support (--enable-blake2s), which provides 32-bit Blake2 support
|
||||
* Macro SHA256_MANY_REGISTERS addition to potentially speed up SHA256 depending on architecture
|
||||
* Additional TLS alert messages sent with the macro WOLFSSL_EXTRA_ALERTS defined
|
||||
* Feature to fail resumption of a session if the session’s cipher suite is not in the client’s list, this can be overridden by defining the macro NO_RESUME_SUITE_CHECK
|
||||
* Fallback SCSV (Signaling Cipher Suite Value) support on Server only (--enable-fallback-scsv)
|
||||
* DTLS export state only (wolfSSL_dtls_export_state_only) which is a subset of the information exported from previous DTLS export function
|
||||
* Function wc_DhCheckPubValue added to perform simple validity checks on DH keys
|
||||
* Support for RSA SHA-224 signatures with TLS added
|
||||
* Additional option “-print” to the benchmark app for printing out a brief summary after benchmarks are complete
|
||||
* Adding (--disable-pkcs12) option and improvements for disabled sections in pwdbased.c, asn.c, rsa.c, pkcs12.c and wc_encrypt
|
||||
* Added DES3 support to the wolfSSL crypto callbacks
|
||||
* Compile time fixes for build case with SP math and RSA only
|
||||
* Fixes for Coverity static analysis report including explicit initialization of reported stack variables some additional Coverity fixes added thanks to Martin
|
||||
* Fixes for scan build warnings (i.e possible null dereference in ecc.c)
|
||||
* Resetting verify send value with a call to wolfSSL_clear function
|
||||
* Fix for extern with sp_ModExp_2048 when building with --cpp option
|
||||
* Fix for typo issue with --enable-sp=cortexm
|
||||
* Adding #pragma warning disable 4127 for tfm.c when building with Visual Studio
|
||||
* Improvements to the maximum ECC signature calculations
|
||||
* Improvements to TLS write handling in error cases which helps user application not go through with a wolfSSL_write attempt after a wolfSSL_read failure
|
||||
* Fix for read directory functions with Windows (wc_ReadDirFirst and wc_ReadDirNext)
|
||||
* Sanity check on index before accessing domain component buffer in call to wolfSSL_X509_NAME_get_entry
|
||||
* Sending fatal alert from client side on version error
|
||||
* Fix for static RSA cipher suite with PK callback and no loaded private key
|
||||
* Fix for potential memory leak in error case with the function wc_DsaKeyToDer, thanks to Chris H. for the report
|
||||
* Adjusting STRING_USER macro to remove includes of standard lib <string.h> or <stdio.h>
|
||||
* Bug fix for checking wrong allocation assignment in the function wc_PBKDF2 and handling potential leak on allocation failure. This case is only hit when the specific call to malloc fails in the function wc_PBKDF2. Thanks to Robert Altnoeder (Linbit) for the report
|
||||
* Improved length checks when parsing ASN.1 certificates
|
||||
* extern "C" additions to header files that were missing them
|
||||
* Improved checking of return values with TLS extension functions and error codes
|
||||
* Removing redundant calls to the generate function when instantiating and reseeding DRBG
|
||||
* Refactoring and improvements to autoconf code with consolidating AM_CONDITIONAL statements
|
||||
* Improvements for handling error return codes when reading input from transport layer
|
||||
* Improvements to efficiency of SNI extension parsing and error checking with ALPN parsing
|
||||
* Macro WOLFSSL_DEBUG_TLS addition for printing out extension data being parsed during a TLS connection
|
||||
* Adjustment of prime testing with --disable-fastmath builds
|
||||
|
||||
|
||||
This release of wolfSSL includes a fix for 2 security vulnerabilities.
|
||||
|
||||
There is a fix for a potential buffer overflow case with the TLSv1.3 PSK extension parsing. This affects users that are enabling TLSv1.3 (--enable-tls13). Thanks to Robert Hoerr for the report. The CVE associated with the report is CVE-2019-11873.
|
||||
|
||||
There is a fix for the potential leak of nonce sizes when performing ECDSA signing operations. The leak is considered to be difficult to exploit but it could potentially be used maliciously to perform a lattice based timing attack against previous wolfSSL versions. ECC operations with --enable-sp and --enable-sp-asm are not affected, users with private ECC keys in other builds that are performing ECDSA signing operations should update versions of wolfSSL along with private ECC keys. Thanks to Ján Jančár from Masaryk University for the report.
|
||||
|
||||
|
||||
# wolfSSL Release 4.0.0 (03/20/2019)
|
||||
|
||||
Release 4.0.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
* Support for wolfCrypt FIPS v4.0.0, certificate #3389
|
||||
* FIPS Ready Initiative
|
||||
* Compatibility fixes for secure renegotiation with Chrome
|
||||
* Better size check for TLS record fragment reassembly
|
||||
* Improvements to non-blocking and handshake message retry support for DTLS
|
||||
* Improvements to OCSP with ECDSA signers
|
||||
* Added TLS server side secure renegotiation
|
||||
* Added TLS Trusted CA extension
|
||||
* Add support for the Deos Safety Critical RTOS
|
||||
* OCSP fixes for memory management and initializations
|
||||
* Fixes for EVP Cipher decryption padding checks
|
||||
* Removal of null terminators on `wolfSSL_X509_print` substrings
|
||||
* `wolfSSL_sk_ASN1_OBJCET_pop` function renamed to `wolfSSL_sk_ASN1_OBJECT_pop`
|
||||
* Adjustment to include path in compatibility layer for evp.h and objects.h
|
||||
* Fixes for decoding BER encoded PKCS7 contents
|
||||
* TLS handshake now supports using PKCS #11 for private keys
|
||||
* PKCS #11 support of HMAC, AES-CBC and random seeding/generation
|
||||
* Support for named FFDHE parameters in TLS 1.2 (RFC 7919)
|
||||
* Port to Zephyr Project
|
||||
* Move the TLS PRF to wolfCrypt.
|
||||
* Update to CMS KARI support
|
||||
* Added ESP32 WROOM support
|
||||
* Fixes and additions to the OpenSSL compatibility layer
|
||||
* Added WICED Studio Support
|
||||
* MDK CMSIS RTOS v2
|
||||
* Xcode project file update
|
||||
* Fixes for ATECC508A/ATECC608A
|
||||
* Fixes issue with CA path length for self signed root CA's
|
||||
* Fixes for Single Precision (SP) ASM when building sources directly
|
||||
* Fixes for STM32 AES GCM
|
||||
* Fixes for ECC sign with hardware to ensure the input is truncated
|
||||
* Fixes for proper detection of PKCS7 buffer overflow case
|
||||
* Fixes to handle degenerate PKCS 7 with BER encoding
|
||||
* Fixes for TLS v1.3 handling of 6144 and 8192 bit keys
|
||||
* Fixes for possible build issues with SafeRTOS
|
||||
* Added `ECC_PUBLICKEY_TYPE` to the support PEM header types
|
||||
* Added strict checking of the ECDSA signature DER encoding length
|
||||
* Added ECDSA option to limit sig/algos in client_hello to key size with
|
||||
`USE_ECDSA_KEYSZ_HASH_ALGO`
|
||||
* Added Cortex-M support for Single Precision (SP) math
|
||||
* Added wolfCrypt RSA non-blocking time support
|
||||
* Added 16-bit compiler support using --enable-16bit option
|
||||
* Improved Arduino sketch example
|
||||
* Improved crypto callback features
|
||||
* Improved TLS benchmark tool
|
||||
* Added new wrapper for snprintf for use with certain Visual Studio builds,
|
||||
thanks to David Parnell (Cambridge Consultants)
|
||||
|
||||
This release of wolfSSL includes a fix for 1 security vulnerability.
|
||||
|
||||
* Fixed a bug in tls_bench.c example test application unrelated to the crypto
|
||||
or TLS portions of the library. (CVE-2019-6439)
|
||||
|
||||
|
||||
# wolfSSL Release 3.15.7 (12/26/2018)
|
||||
|
||||
Release 3.15.7 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
@@ -12,9 +12,18 @@ wolfssl/IDE/ARDUINO directory:
|
||||
|
||||
`./wolfssl-arduino.sh`
|
||||
|
||||
Step 2: Copy the directory wolfSSL that was just created to:
|
||||
`~/Documents/Arduino/libraries/` directory so the Arduino IDE can find it.
|
||||
|
||||
Step 2: Edit `<wolfssl-root>/IDE/ARDUINO/wolfSSL/wolfssl/wolfcrypt/settings.h` uncomment the define for `WOLFSSL_ARDUINO`
|
||||
If building for Intel Galileo platform also uncomment the define for `INTEL_GALILEO`.
|
||||
Step 3: Edit `<arduino-libraries>/wolfSSL/user_settings.h`
|
||||
If building for Intel Galileo platform add: `#define INTEL_GALILEO`.
|
||||
Add any other custom settings, for a good start see the below in wolfssl root.
|
||||
(See wolfssl/IDE/ROWLEY-CROSSWORKS-ARM/user_settings.h)
|
||||
|
||||
Step 4: If you experience any issues with custom user_settings.h see the wolfssl
|
||||
porting guide here for more assistance: https://www.wolfssl.com/docs/porting-guide/
|
||||
|
||||
Step 5: If you still have any issues contact support@wolfssl.com for more help.
|
||||
|
||||
##### Including wolfSSL in Arduino Libraries (for Arduino version 1.6.6)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_client.ino
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_server.ino
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
|
||||
DIR=${PWD##*/}
|
||||
|
||||
space(){
|
||||
echo "" >> "$1"
|
||||
}
|
||||
|
||||
if [ "$DIR" = "ARDUINO" ]; then
|
||||
rm -rf wolfSSL
|
||||
mkdir wolfSSL
|
||||
@@ -22,14 +26,43 @@ if [ "$DIR" = "ARDUINO" ]; then
|
||||
mkdir ./wolfSSL/wolfcrypt
|
||||
mkdir ./wolfSSL/wolfcrypt/src
|
||||
cp ../../wolfcrypt/src/misc.c ./wolfSSL/wolfcrypt/src
|
||||
cp ../../wolfcrypt/src/asm.c ./wolfSSL/wolfcrypt/src
|
||||
|
||||
# put bio and evp as includes
|
||||
mv ./wolfSSL/bio.c ./wolfSSL/wolfssl
|
||||
mv ./wolfSSL/evp.c ./wolfSSL/wolfssl
|
||||
|
||||
echo "/* Generated wolfSSL header file for Arduino */" >> ./wolfSSL/wolfssl.h
|
||||
echo "/* Generated wolfSSL header file for Arduino */" > ./wolfSSL/wolfssl.h
|
||||
echo "#include <wolfssl/wolfcrypt/settings.h>" >> ./wolfSSL/wolfssl.h
|
||||
echo "#include <wolfssl/ssl.h>" >> ./wolfSSL/wolfssl.h
|
||||
|
||||
echo "/* Generated wolfSSL user_settings.h file for Arduino */" > ./wolfSSL/user_settings.h
|
||||
echo "#ifndef ARDUINO_USER_SETTINGS_H" >> ./wolfSSL/user_settings.h
|
||||
echo "#define ARDUINO_USER_SETTINGS_H" >> ./wolfSSL/user_settings.h
|
||||
space wolfSSL/user_settings.h
|
||||
echo "/* Platform */" >> ./wolfSSL/user_settings.h
|
||||
echo "#define WOLFSSL_ARDUINO" >> ./wolfSSL/user_settings.h
|
||||
space wolfSSL/user_settings.h
|
||||
echo "/* Math library (remove this to use normal math)*/" >> ./wolfSSL/user_settings.h
|
||||
echo "#define USE_FAST_MATH" >> ./wolfSSL/user_settings.h
|
||||
echo "#define TFM_NO_ASM" >> ./wolfSSL/user_settings.h
|
||||
space wolfSSL/user_settings.h
|
||||
echo "/* RNG DEFAULT !!FOR TESTING ONLY!! */" >> ./wolfSSL/user_settings.h
|
||||
echo "/* comment out the error below to get started w/ bad entropy source" >> ./wolfSSL/user_settings.h
|
||||
echo " * This will need fixed before distribution but is OK to test with */" >> ./wolfSSL/user_settings.h
|
||||
echo "#error \"needs solved, see: https://www.wolfssl.com/docs/porting-guide/\"" >> ./wolfSSL/user_settings.h
|
||||
echo "#define WOLFSSL_GENSEED_FORTEST" >> ./wolfSSL/user_settings.h
|
||||
space wolfSSL/user_settings.h
|
||||
echo "#endif /* ARDUINO_USER_SETTINGS_H */" >> ./wolfSSL/user_settings.h
|
||||
|
||||
cp wolfSSL/wolfssl/wolfcrypt/settings.h wolfSSL/wolfssl/wolfcrypt/settings.h.bak
|
||||
echo " /* wolfSSL Generated ARDUINO settings */" > ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
echo "#ifndef WOLFSSL_USER_SETTINGS" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
echo " #define WOLFSSL_USER_SETTINGS" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
echo "#endif /* WOLFSSL_USER_SETTINGS */" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
echo " /* wolfSSL Generated ARDUINO settings: END */" >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
cat ./wolfSSL/wolfssl/wolfcrypt/settings.h.bak >> ./wolfSSL/wolfssl/wolfcrypt/settings.h
|
||||
|
||||
else
|
||||
echo "ERROR: You must be in the IDE/ARDUINO directory to run this script"
|
||||
fi
|
||||
|
||||
116
IDE/CRYPTOCELL/README.md
Normal file
116
IDE/CRYPTOCELL/README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# ARM® TrustZone® CryptoCell 310 Port
|
||||
## Overview
|
||||
ARM® TrustZone® CryptoCell 310 is a security subsystem which provides root of trust (RoT) and cryptographic services for a device.
|
||||
You can enable the wolfSSL support for ARM CryptoCell using the `#define WOLFSSL_CRYPTOCELL`, The CryptoCell APIs are distributed as part of the Nordic nRF5 SDKs [here](https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fgroup__cryptocell__api.html) .
|
||||
|
||||
## Prerequisites
|
||||
1. Follow the Nordic website [here](https://www.nordicsemi.com/Software-and-Tools/Software/nRF5-SDK) to download the Nordic nRF5-SDK and software tools.
|
||||
2. Install the SEGGER Embedded Studio IDE.
|
||||
3. Run a simple blinky application on your Nordic nRF52840 (PCA10056) development board to confirm that your board functions as expected and the communication between your computer and the board works.
|
||||
|
||||
## Usage
|
||||
You can start with a wolfcrypt SEGGER embedded studio (ses) example project to integrate the wolfSSL source code.
|
||||
wolfSSL supports a compile-time user configurable options in the `IDE/CRYPTOCELL/user_settings.h` file.
|
||||
|
||||
The `IDE/CRYPTOCELL/main.c` example application provides a function to run the selected examples at compile time through the following two #defines in user_settings.h. You can define these macro options to disable the test run.
|
||||
```
|
||||
- #undef NO_CRYPT_TEST
|
||||
- #undef NO_CRYPT_BENCHMARK
|
||||
```
|
||||
|
||||
## Supported features
|
||||
- SHA-256
|
||||
- AES CBC
|
||||
- CryptoCell 310 RNG
|
||||
- RSA sign/verify and RSA key gen
|
||||
- RSA encrypt/decrypt
|
||||
- ECC sign/verify/shared secret
|
||||
- ECC key import/export and key gen pairs
|
||||
- Hardware RNG
|
||||
- RTC for benchmark timing source
|
||||
|
||||
## Setup
|
||||
### Setting up Nordic SDK with wolfSSL
|
||||
1. Download the wolfSSL source code or a zip file from GitHub and place it under your SDK `InstallFolder/external/` directory. You can also copy or simlink to the source.
|
||||
```
|
||||
For example,
|
||||
|
||||
$cd ~/nRF5_SDK_15.2.0_9412b96/external
|
||||
$git clone --depth=1 https://github.com/wolfSSL/wolfssl.git
|
||||
|
||||
Or, assuming you have already cloned the wolfSSL source code under ~/wolfssl.
|
||||
|
||||
$cd ~/nRF5_SDK_15.2.0_9412b96/external
|
||||
$ln -s ~/wolfssl wolfssl
|
||||
```
|
||||
2. Copy the example project from [here](https://github.com/tmael/nRF5_SDK/tree/master/examples/crypto/nrf_cc310/wolfcrypt) into your `nRF5_SDK_15.2.0_9412b96/examples/crypto/nrf_cc310/` directory.
|
||||
```
|
||||
$git clone https://github.com/tmael/nRF5_SDK.git
|
||||
$cd ~/nRF5_SDK_15.2.0_9412b96/examples/crypto/nrf_cc310
|
||||
|
||||
$cp -rf ~/nRF5_SDK/examples/crypto/nrf_cc310/wolfcrypt .
|
||||
OR
|
||||
$ln -s ~/nRF5_SDK/examples/crypto/nrf_cc310/wolfcrypt wolfcrypt
|
||||
```
|
||||
3. Launch the SEGGER Embedded Studio IDE
|
||||
4. In the main menu, go to File >Open Solutions to open the example solution. Browse to the location containing the wolfcrypt code `/examples/crypto/nrf_cc310/wolfcrypt/pca10056/blank/ses/wolfcrypt_pca10056.emProject` and choose Open.
|
||||
|
||||
## Building and Running
|
||||
In the main menu, go to Build > Rebuild your project, then load and run your image on your nRF52840 target platform. Review the test results on the console output.
|
||||
|
||||
### `wolfcrypt_test()`
|
||||
wolfcrypt_test() prints a message on the target console similar to the following output:
|
||||
```
|
||||
wolfCrypt Test Started
|
||||
error test passed!
|
||||
base64 test passed!
|
||||
asn test passed!
|
||||
SHA test passed!
|
||||
SHA-256 test passed!
|
||||
Hash test passed!
|
||||
HMAC-SHA test passed!
|
||||
HMAC-SHA256 test passed!
|
||||
AES test passed!
|
||||
RANDOM test passed!
|
||||
RSA test passed!
|
||||
ECC test passed!
|
||||
ECC buffer test passed!
|
||||
logging test passed!
|
||||
mutex test passed!
|
||||
wolfCrypt Test Completed
|
||||
```
|
||||
### `benchmark_test()`
|
||||
benchmark_test() prints a message on the target console similar to the following output.
|
||||
```
|
||||
Benchmark Test Started
|
||||
------------------------------------------------------------------------------
|
||||
wolfSSL version 3.15.7
|
||||
------------------------------------------------------------------------------
|
||||
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
|
||||
RNG 5 MB took 1.000 seconds, 4.858 MB/s
|
||||
AES-128-CBC-enc 17 MB took 1.001 seconds, 17.341 MB/s
|
||||
AES-128-CBC-dec 17 MB took 1.000 seconds, 17.285 MB/s
|
||||
SHA 425 KB took 1.040 seconds, 408.654 KB/s
|
||||
SHA-256 26 MB took 1.000 seconds, 25.903 MB/s
|
||||
HMAC-SHA 425 KB took 1.049 seconds, 405.148 KB/s
|
||||
HMAC-SHA256 24 MB took 1.000 seconds, 23.877 MB/s
|
||||
RSA 1024 key gen 2 ops took 1.579 sec, avg 789.500 ms, 1.267 ops/sec
|
||||
RSA 2048 key gen 1 ops took 9.695 sec, avg 9695.000 ms, 0.103 ops/sec
|
||||
RSA 2048 public 328 ops took 1.001 sec, avg 3.052 ms, 327.672 ops/sec
|
||||
RSA 2048 private 4 ops took 1.713 sec, avg 428.250 ms, 2.335 ops/sec
|
||||
ECC 256 key gen 55 ops took 1.017 sec, avg 18.491 ms, 54.081 ops/sec
|
||||
ECDHE 256 agree 56 ops took 1.017 sec, avg 18.161 ms, 55.064 ops/sec
|
||||
ECDSA 256 sign 50 ops took 1.004 sec, avg 20.080 ms, 49.801 ops/sec
|
||||
ECDSA 256 verify 48 ops took 1.028 sec, avg 21.417 ms, 46.693 ops/sec
|
||||
Benchmark Test Completed
|
||||
```
|
||||
|
||||
## References
|
||||
The test results were collected from an nRF52840 reference platform target with the following software and tool chains:
|
||||
- Nordic nRF52840 development board (PCA10056 1.0.0 2018.49 683529999).
|
||||
- nRF5_SDK_15.2.0_9412b96
|
||||
- SEGGER Embedded Studio for ARM, Release 4.12 Build 2018112601.37855 Linux x64Segger J-Link software
|
||||
- gcc-arm-none-eabi-8-2018-q4-major
|
||||
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
|
||||
|
||||
For more information or questions, please email [support@wolfssl.com](mailto:support@wolfssl.com)
|
||||
8
IDE/CRYPTOCELL/include.am
Normal file
8
IDE/CRYPTOCELL/include.am
Normal file
@@ -0,0 +1,8 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST += \
|
||||
IDE/CRYPTOCELL/README.md \
|
||||
IDE/CRYPTOCELL/main.c \
|
||||
IDE/CRYPTOCELL/user_settings.h
|
||||
64
IDE/CRYPTOCELL/main.c
Normal file
64
IDE/CRYPTOCELL/main.c
Normal file
@@ -0,0 +1,64 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfcrypt/test/test.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
||||
/* wolfCrypt_Init/wolfCrypt_Cleanup to turn CryptoCell hardware on/off */
|
||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||
|
||||
/* SEGGER_RTT_Init, you can potential replace it with other serial terminal */
|
||||
#include "SEGGER_RTT.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
SEGGER_RTT_Init();
|
||||
|
||||
if ((ret = wolfCrypt_Init()) != 0) {
|
||||
printf("wolfCrypt_Init failed %d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifndef NO_CRYPT_TEST
|
||||
printf("\nwolfCrypt Test Started\n");
|
||||
wolfcrypt_test(NULL);
|
||||
printf("\nwolfCrypt Test Completed\n");
|
||||
#endif
|
||||
|
||||
#ifndef NO_CRYPT_BENCHMARK
|
||||
printf("\nBenchmark Test Started\n");
|
||||
benchmark_test(NULL);
|
||||
printf("\nBenchmark Test Completed\n");
|
||||
#endif
|
||||
|
||||
if ((ret = wolfCrypt_Cleanup()) != 0) {
|
||||
printf("wolfCrypt_Cleanup failed %d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
while(1) {
|
||||
__WFI();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
589
IDE/CRYPTOCELL/user_settings.h
Normal file
589
IDE/CRYPTOCELL/user_settings.h
Normal file
@@ -0,0 +1,589 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* Example Settings for CryptoCell */
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS_H
|
||||
#define WOLFSSL_USER_SETTINGS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* CryptoCell */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#if 1
|
||||
#define WOLFSSL_CRYPTOCELL
|
||||
#define WOLFSSL_nRF5x_SDK_15_2 /* for benchmark timer */
|
||||
#define WOLFSSL_CRYPTOCELL_AES /* only CBC mode is supported */
|
||||
#else
|
||||
/* run without CryptoCell,
|
||||
include IDE/GCC-ARM/Source/wolf_main.c for current_time(). */
|
||||
#endif
|
||||
|
||||
#if defined(WOLFSSL_CRYPTOCELL)
|
||||
#define AES_MAX_KEY_SIZE 128
|
||||
#endif /* WOLFSSL_CRYPTOCELL*/
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Platform */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#undef WOLFSSL_GENERAL_ALIGNMENT
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||
|
||||
#undef SINGLE_THREADED
|
||||
#define SINGLE_THREADED
|
||||
|
||||
#undef WOLFSSL_SMALL_STACK
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
|
||||
#undef WOLFSSL_USER_IO
|
||||
#define WOLFSSL_USER_IO
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Math Configuration */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef SIZEOF_LONG_LONG
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
|
||||
#undef USE_FAST_MATH
|
||||
#if 1
|
||||
#define USE_FAST_MATH
|
||||
|
||||
#undef TFM_TIMING_RESISTANT
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
/* Optimizations */
|
||||
//#define TFM_ARM
|
||||
#endif
|
||||
|
||||
/* Wolf Single Precision Math */
|
||||
#undef WOLFSSL_SP
|
||||
#if 0
|
||||
#define WOLFSSL_SP
|
||||
#define WOLFSSL_SP_SMALL /* use smaller version of code */
|
||||
#define WOLFSSL_HAVE_SP_RSA
|
||||
#define WOLFSSL_HAVE_SP_DH
|
||||
#define WOLFSSL_HAVE_SP_ECC
|
||||
#define WOLFSSL_SP_CACHE_RESISTANT
|
||||
//#define WOLFSSL_SP_MATH /* only SP math - eliminates fast math code */
|
||||
|
||||
/* Assembly */
|
||||
//#define WOLFSSL_SP_ASM /* required if using the ASM versions */
|
||||
//#define WOLFSSL_SP_ARM_CORTEX_M_ASM
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Crypto */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RSA */
|
||||
#undef NO_RSA
|
||||
#if 1
|
||||
#ifdef USE_FAST_MATH
|
||||
/* Maximum math bits (Max RSA key bits * 2) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS 4096
|
||||
#endif
|
||||
|
||||
/* half as much memory but twice as slow */
|
||||
#undef RSA_LOW_MEM
|
||||
//#define RSA_LOW_MEM
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#if 1
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
#else
|
||||
#undef WC_NO_HARDEN
|
||||
#define WC_NO_HARDEN
|
||||
#endif
|
||||
|
||||
/* RSA PSS Support */
|
||||
#if 0
|
||||
#define WC_RSA_PSS
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define WC_RSA_NO_PADDING
|
||||
#endif
|
||||
#else
|
||||
#define NO_RSA
|
||||
#endif
|
||||
|
||||
/* ECC */
|
||||
#undef HAVE_ECC
|
||||
#if 1
|
||||
#define HAVE_ECC
|
||||
|
||||
/* Manually define enabled curves */
|
||||
#undef ECC_USER_CURVES
|
||||
#define ECC_USER_CURVES
|
||||
|
||||
#ifdef ECC_USER_CURVES
|
||||
/* Manual Curve Selection */
|
||||
//#define HAVE_ECC192
|
||||
//#define HAVE_ECC224
|
||||
#undef NO_ECC256
|
||||
#define HAVE_ECC384
|
||||
//#define HAVE_ECC521
|
||||
#endif
|
||||
|
||||
/* Fixed point cache (speeds repeated operations against same private key) */
|
||||
#undef FP_ECC
|
||||
//#define FP_ECC
|
||||
#ifdef FP_ECC
|
||||
/* Bits / Entries */
|
||||
#undef FP_ENTRIES
|
||||
#define FP_ENTRIES 2
|
||||
#undef FP_LUT
|
||||
#define FP_LUT 4
|
||||
#endif
|
||||
|
||||
/* Optional ECC calculation method */
|
||||
/* Note: doubles heap usage, but slightly faster */
|
||||
#undef ECC_SHAMIR
|
||||
#define ECC_SHAMIR
|
||||
|
||||
/* Reduces heap usage, but slower */
|
||||
#undef ECC_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
|
||||
/* Enable cofactor support */
|
||||
#undef HAVE_ECC_CDH
|
||||
//#define HAVE_ECC_CDH
|
||||
|
||||
/* Validate import */
|
||||
#undef WOLFSSL_VALIDATE_ECC_IMPORT
|
||||
//#define WOLFSSL_VALIDATE_ECC_IMPORT
|
||||
|
||||
/* Compressed Key Support */
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
/* Use alternate ECC size for ECC math */
|
||||
#ifdef USE_FAST_MATH
|
||||
#ifdef NO_RSA
|
||||
/* Custom fastmath size if not using RSA */
|
||||
/* MAX = ROUND32(ECC BITS 384) + SIZE_OF_MP_DIGIT(32) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS (384 + 32)
|
||||
#else
|
||||
#undef ALT_ECC_SIZE
|
||||
#define ALT_ECC_SIZE
|
||||
#endif
|
||||
|
||||
/* Speedups specific to curve */
|
||||
#ifndef NO_ECC256
|
||||
#undef TFM_ECC256
|
||||
#define TFM_ECC256
|
||||
#endif
|
||||
#ifndef HAVE_ECC384
|
||||
#undef TFM_ECC384
|
||||
#define TFM_ECC384
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* DH */
|
||||
#undef NO_DH
|
||||
#if 0
|
||||
/* Use table for DH instead of -lm (math) lib dependency */
|
||||
#if 0
|
||||
#define WOLFSSL_DH_CONST
|
||||
#endif
|
||||
|
||||
#define HAVE_FFDHE_2048
|
||||
//#define HAVE_FFDHE_4096
|
||||
//#define HAVE_FFDHE_6144
|
||||
//#define HAVE_FFDHE_8192
|
||||
#else
|
||||
#define NO_DH
|
||||
#endif
|
||||
|
||||
|
||||
/* AES */
|
||||
#undef NO_AES
|
||||
#if 1
|
||||
#undef HAVE_AES_CBC
|
||||
#define HAVE_AES_CBC
|
||||
|
||||
/* If you need other than AES-CBC mode, you must undefine WOLFSSL_CRYPTOCELL_AES */
|
||||
#if !defined(WOLFSSL_CRYPTOCELL_AES)
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
|
||||
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
|
||||
#define GCM_SMALL
|
||||
|
||||
#undef WOLFSSL_AES_DIRECT
|
||||
//#define WOLFSSL_AES_DIRECT
|
||||
|
||||
#undef HAVE_AES_ECB
|
||||
//#define HAVE_AES_ECB
|
||||
|
||||
#undef WOLFSSL_AES_COUNTER
|
||||
//#define WOLFSSL_AES_COUNTER
|
||||
|
||||
#undef HAVE_AESCCM
|
||||
//#define HAVE_AESCCM
|
||||
#endif
|
||||
#else
|
||||
#define NO_AES
|
||||
#endif
|
||||
|
||||
|
||||
/* DES3 */
|
||||
#undef NO_DES3
|
||||
#if 0
|
||||
#else
|
||||
#define NO_DES3
|
||||
#endif
|
||||
|
||||
/* ChaCha20 / Poly1305 */
|
||||
#undef HAVE_CHACHA
|
||||
#undef HAVE_POLY1305
|
||||
#if 0
|
||||
#define HAVE_CHACHA
|
||||
#define HAVE_POLY1305
|
||||
|
||||
/* Needed for Poly1305 */
|
||||
#undef HAVE_ONE_TIME_AUTH
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
|
||||
/* Ed25519 / Curve25519 */
|
||||
#undef HAVE_CURVE25519
|
||||
#undef HAVE_ED25519
|
||||
#if 0
|
||||
#define HAVE_CURVE25519
|
||||
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
|
||||
|
||||
/* Optionally use small math (less flash usage, but much slower) */
|
||||
#if 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Hashing */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Sha */
|
||||
#undef NO_SHA
|
||||
#if 1
|
||||
/* 1k smaller, but 25% slower */
|
||||
//#define USE_SLOW_SHA
|
||||
#else
|
||||
#define NO_SHA
|
||||
#endif
|
||||
|
||||
/* Sha256 */
|
||||
#undef NO_SHA256
|
||||
#if 1
|
||||
/* not unrolled - ~2k smaller and ~25% slower */
|
||||
//#define USE_SLOW_SHA256
|
||||
|
||||
/* Sha224 */
|
||||
#if 0
|
||||
#define WOLFSSL_SHA224
|
||||
#endif
|
||||
#else
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
|
||||
/* Sha512 */
|
||||
#undef WOLFSSL_SHA512
|
||||
#if 0
|
||||
#define WOLFSSL_SHA512
|
||||
|
||||
/* Sha384 */
|
||||
#undef WOLFSSL_SHA384
|
||||
#if 0
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
|
||||
/* over twice as small, but 50% slower */
|
||||
//#define USE_SLOW_SHA512
|
||||
#endif
|
||||
|
||||
/* Sha3 */
|
||||
#undef WOLFSSL_SHA3
|
||||
#if 0
|
||||
#define WOLFSSL_SHA3
|
||||
#endif
|
||||
|
||||
/* MD5 */
|
||||
#undef NO_MD5
|
||||
#if 0
|
||||
|
||||
#else
|
||||
#define NO_MD5
|
||||
#endif
|
||||
|
||||
/* HKDF */
|
||||
#undef HAVE_HKDF
|
||||
#if 0
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
|
||||
/* CMAC */
|
||||
#undef WOLFSSL_CMAC
|
||||
#if 0
|
||||
#define WOLFSSL_CMAC
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Benchmark / Test */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Use reduced benchmark / test sizes */
|
||||
#undef BENCH_EMBEDDED
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#undef USE_CERT_BUFFERS_2048
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
//#undef USE_CERT_BUFFERS_1024
|
||||
//#define USE_CERT_BUFFERS_1024
|
||||
|
||||
#undef USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_256
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Debugging */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#undef DEBUG_WOLFSSL
|
||||
#undef NO_ERROR_STRINGS
|
||||
#if 0
|
||||
#define DEBUG_WOLFSSL
|
||||
#else
|
||||
#if 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Memory */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Memory API's */
|
||||
#if 0
|
||||
#undef XMALLOC_OVERRIDE
|
||||
#define XMALLOC_OVERRIDE
|
||||
|
||||
/* prototypes for user heap override functions */
|
||||
/* Note: Realloc only required for normal math */
|
||||
#include <stddef.h> /* for size_t */
|
||||
extern void *myMalloc(size_t n, void* heap, int type);
|
||||
extern void myFree(void *p, void* heap, int type);
|
||||
extern void *myRealloc(void *p, size_t n, void* heap, int type);
|
||||
|
||||
#define XMALLOC(n, h, t) myMalloc(n, h, t)
|
||||
#define XFREE(p, h, t) myFree(p, h, t)
|
||||
#define XREALLOC(p, n, h, t) myRealloc(p, n, h, t)
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* Static memory requires fast math */
|
||||
#define WOLFSSL_STATIC_MEMORY
|
||||
|
||||
/* Disable fallback malloc/free */
|
||||
#define WOLFSSL_NO_MALLOC
|
||||
#if 1
|
||||
#define WOLFSSL_MALLOC_CHECK /* trap malloc failure */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Memory callbacks */
|
||||
#if 0
|
||||
#undef USE_WOLFSSL_MEMORY
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
|
||||
/* Use this to measure / print heap usage */
|
||||
#if 1
|
||||
#undef WOLFSSL_TRACK_MEMORY
|
||||
#define WOLFSSL_TRACK_MEMORY
|
||||
|
||||
#undef WOLFSSL_DEBUG_MEMORY
|
||||
#define WOLFSSL_DEBUG_MEMORY
|
||||
#endif
|
||||
#else
|
||||
#ifndef WOLFSSL_STATIC_MEMORY
|
||||
#define NO_WOLFSSL_MEMORY
|
||||
/* Otherwise we will use stdlib malloc, free and realloc */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Port */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Current Time */
|
||||
/* Allows custom "custom_time()" function to be used for benchmark */
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define WOLFSSL_GMTIME
|
||||
#define USER_TICKS
|
||||
|
||||
#if !defined(WOLFSSL_CRYPTOCELL)
|
||||
// extern unsigned long my_time(unsigned long* timer);
|
||||
// #define XTIME my_time
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RNG */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#if defined(WOLFSSL_CRYPTOCELL)
|
||||
// /* Override P-RNG with HW RNG */
|
||||
#undef CUSTOM_RAND_GENERATE_BLOCK
|
||||
#define CUSTOM_RAND_GENERATE_BLOCK cc310_random_generate
|
||||
//#define CUSTOM_RAND_GENERATE_BLOCK nrf_random_generate
|
||||
//#define WOLFSSL_GENSEED_FORTEST /* for software RNG*/
|
||||
#else
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Enable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_TLS13
|
||||
#if 0
|
||||
#define WOLFSSL_TLS13
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_KEY_GEN
|
||||
#if 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
|
||||
/* reduce DH test time */
|
||||
#define WOLFSSL_OLD_PRIME_CHECK
|
||||
|
||||
#undef KEEP_PEER_CERT
|
||||
//#define KEEP_PEER_CERT
|
||||
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
#undef HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
|
||||
#undef HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
#undef WOLFSSL_BASE64_ENCODE
|
||||
#define WOLFSSL_BASE64_ENCODE
|
||||
|
||||
/* TLS Session Cache */
|
||||
#if 0
|
||||
#define SMALL_SESSION_CACHE
|
||||
#else
|
||||
#define NO_SESSION_CACHE
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Disable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef NO_WOLFSSL_SERVER
|
||||
//#define NO_WOLFSSL_SERVER
|
||||
|
||||
#undef NO_WOLFSSL_CLIENT
|
||||
//#define NO_WOLFSSL_CLIENT
|
||||
|
||||
#undef NO_CRYPT_TEST
|
||||
//#define NO_CRYPT_TEST
|
||||
|
||||
#undef NO_CRYPT_BENCHMARK
|
||||
//#define NO_CRYPT_BENCHMARK
|
||||
|
||||
#undef WOLFCRYPT_ONLY
|
||||
//#define WOLFCRYPT_ONLY
|
||||
|
||||
/* In-lining of misc.c functions */
|
||||
/* If defined, must include wolfcrypt/src/misc.c in build */
|
||||
/* Slower, but about 1k smaller */
|
||||
#undef NO_INLINE
|
||||
//#define NO_INLINE
|
||||
|
||||
#undef NO_FILESYSTEM
|
||||
#define NO_FILESYSTEM
|
||||
|
||||
#undef NO_WRITEV
|
||||
#define NO_WRITEV
|
||||
|
||||
#undef NO_MAIN_DRIVER
|
||||
#define NO_MAIN_DRIVER
|
||||
|
||||
#undef NO_DEV_RANDOM
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#undef NO_DSA
|
||||
#define NO_DSA
|
||||
|
||||
#undef NO_RC4
|
||||
#define NO_RC4
|
||||
|
||||
#undef NO_OLD_TLS
|
||||
#define NO_OLD_TLS
|
||||
|
||||
#undef NO_HC128
|
||||
#define NO_HC128
|
||||
|
||||
#undef NO_RABBIT
|
||||
#define NO_RABBIT
|
||||
|
||||
#undef NO_PSK
|
||||
#define NO_PSK
|
||||
|
||||
#undef NO_MD4
|
||||
#define NO_MD4
|
||||
|
||||
#undef NO_PWDBASED
|
||||
#define NO_PWDBASED
|
||||
|
||||
#undef NO_CODING
|
||||
//#define NO_CODING
|
||||
|
||||
#undef NO_ASN_TIME
|
||||
//#define NO_ASN_TIME
|
||||
|
||||
#undef NO_CERTS
|
||||
//#define NO_CERTS
|
||||
|
||||
#undef NO_SIG_WRAPPER
|
||||
//#define NO_SIG_WRAPPER
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_USER_SETTINGS_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* deos_malloc.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* tls_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* tls_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_setting.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* client_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* client_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* server_wolfssl.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* server_wolfssl.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_setting.h
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfsslRunTests.c
|
||||
*
|
||||
* Copyright (C) 2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
38
IDE/ECLIPSE/SIFIVE/Makefile
Normal file
38
IDE/ECLIPSE/SIFIVE/Makefile
Normal file
@@ -0,0 +1,38 @@
|
||||
PROGRAM ?= wolfcrypt
|
||||
|
||||
# This line must be added in your freedom-e-sdk/scripts/standalone.mk
|
||||
# RISCV_CFLAGS += -I$(WOLFSSL_SRC_DIR) -I$(WOLFSSL_SRC_DIR)/IDE/ECLIPSE/SIFIVE -DWOLFSSL_USER_SETTINGS
|
||||
# WOLFSSL_SRC_DIR variable must be set in the environment when GNU make is started.
|
||||
# export WOLFSSL_SRC_DIR=~/freedom-e-sdk/software/wolfssl
|
||||
|
||||
WOLFSSL_CFLAGS += -I$(WOLFSSL_SRC_DIR) \
|
||||
-I$(WOLFSSL_SRC_DIR)/IDE/ECLIPSE/SIFIVE \
|
||||
-DWOLFSSL_USER_SETTINGS
|
||||
|
||||
SRC_FILES = $(wildcard $(WOLFSSL_SRC_DIR)/src/*.c)
|
||||
SRC_FILES += $(wildcard $(WOLFSSL_SRC_DIR)/wolfcrypt/src/*.c)
|
||||
SRC_FILES := $(filter-out %bio.c %misc.c %evp.c, $(SRC_FILES))
|
||||
|
||||
SRC =$(WOLFSSL_SRC_DIR)/IDE/ECLIPSE/SIFIVE/main.c \
|
||||
$(SRC_FILES) \
|
||||
$(WOLFSSL_SRC_DIR)/wolfcrypt/test/test.c \
|
||||
$(WOLFSSL_SRC_DIR)/wolfcrypt/benchmark/benchmark.c
|
||||
|
||||
OPT_CFLAGS = -specs=nano.specs
|
||||
#OPT_CFLAGS += -O3 -DTIME -DNOENUM -Wno-implicit -mexplicit-relocs -save-temps
|
||||
#OPT_CFLAGS += -fno-inline -fno-builtin-printf -fno-common -falign-functions=4
|
||||
|
||||
# override the __stack_size and __heap_size default values of 0x400
|
||||
# SiFive HiFive1 has 16KB of data SRAM
|
||||
# The __stack_size and __heap_size symbols are defined in the linker metal.default.ld
|
||||
# script in the freedom-e-sdk.
|
||||
override CFLAGS += $(OPT_CFLAGS) $(WOLFSSL_CFLAGS) \
|
||||
-Xlinker --defsym=__stack_size=0x1200 \
|
||||
-Xlinker --defsym=__heap_size=0x800
|
||||
|
||||
|
||||
$(PROGRAM): $(SRC)
|
||||
$(CC) $(CFLAGS) $(SRC) $(LDFLAGS) $(LDLIBS) -o $@
|
||||
|
||||
clean:
|
||||
rm -f $(PROGRAM) $(PROGRAM).hex
|
||||
199
IDE/ECLIPSE/SIFIVE/README.md
Normal file
199
IDE/ECLIPSE/SIFIVE/README.md
Normal file
@@ -0,0 +1,199 @@
|
||||
# SiFive RISC-V HiFive1 Port
|
||||
|
||||
## Overview
|
||||
You can enable the wolfSSL support for RISC-V using the `#define WOLFSSL_SIFIVE_RISC_V`.
|
||||
|
||||
## Prerequisites
|
||||
1. Follow the instructions on the SiFive GitHub [here](https://github.com/sifive/freedom-e-sdk) and SiFive website [here](https://www.sifive.com/) to download the freedom-e-sdk and software tools.
|
||||
3. Run a simple hello application on your development board to confirm that your board functions as expected and the communication between your computer and the board works.
|
||||
|
||||
## Usage
|
||||
You can start with a wolfcrypt example project to integrate the wolfSSL source code.
|
||||
wolfSSL supports a compile-time user configurable options in the `IDE/ECLIPSE/SIFIVE/user_settings.h` file.
|
||||
|
||||
The `IDE/ECLIPSE/SIFIVE/main.c` example application provides a function to run the selected examples at compile time through the following two #defines in user_settings.h. You can define these macro options to disable the test run.
|
||||
```
|
||||
- #undef NO_CRYPT_TEST
|
||||
- #undef NO_CRYPT_BENCHMARK
|
||||
```
|
||||
|
||||
## Setup
|
||||
### Setting up the SDK with wolfSSL
|
||||
1. Download the wolfSSL source code or a zip file from GitHub and place it under your SDK `$HOME` directory. You can also copy or simlink to the source.
|
||||
```
|
||||
For example,
|
||||
$ cd $HOME
|
||||
$ git clone --depth=1 https://github.com/wolfSSL/wolfssl.git
|
||||
|
||||
```
|
||||
2. Copy the wolfcrypt example project into your `freedom-e-sdk/software` directory.
|
||||
|
||||
```
|
||||
$ cp -rf ~/wolfssl/IDE/ECLIPSE/SIFIVE ~/freedom-e-sdk/software/wolfcrypt
|
||||
```
|
||||
|
||||
3. Edit your `~/freedom-e-sdk/scripts/standalone.mk` and add the following line after the last RISCV_CFLAGS entry:
|
||||
|
||||
```
|
||||
RISCV_CFLAGS += -I$(WOLFSSL_SRC_DIR) -I$(WOLFSSL_SRC_DIR)/IDE/ECLIPSE/SIFIVE -DWOLFSSL_USER_SETTINGS
|
||||
```
|
||||
|
||||
4. WOLFSSL_SRC_DIR variable must be set in the environment when GNU make is started.
|
||||
|
||||
```
|
||||
$ export WOLFSSL_SRC_DIR=~/wolfssl
|
||||
```
|
||||
|
||||
5. Setup your riscv64 compiler
|
||||
|
||||
```
|
||||
$ export RISCV_OPENOCD_PATH=/opt/riscv-openocd
|
||||
```
|
||||
6. (Optional) Setup OpenOCD if your target supports it:
|
||||
|
||||
```
|
||||
$ export RISCV_OPENOCD_PATH=/opt/riscv-openocd
|
||||
```
|
||||
## Building and Running
|
||||
|
||||
You can build from source or create a static library.
|
||||
|
||||
1. Using command-line:
|
||||
|
||||
```
|
||||
$ cd freedom-e-sdk
|
||||
$ make PROGRAM=wolfcrypt TARGET=sifive-hifive1-revb CONFIGURATION=debug clean software upload
|
||||
```
|
||||
This example cleans, builds and uploads the software on the sifive-hifive1-revb target but you can also combine and build for any of the supported targets.
|
||||
|
||||
Review the test results on the target console.
|
||||
|
||||
2. Building a static library for RISC-V using a cross-compiler:
|
||||
|
||||
```
|
||||
$ cd $WOLFSSL_SRC_DIR
|
||||
|
||||
$./configure --host=riscv64-unknown-elf \
|
||||
CC=riscv64-unknown-elf-gcc \
|
||||
AR=riscv64-unknown-elf-ar \
|
||||
AS=riscv64-unknown-elf-as \
|
||||
RANLIB=$RISCV_PATH/bin/riscv64-unknown-elf-gcc-ranlib \
|
||||
LD=riscv64-unknown-elf-ld \
|
||||
CXX=riscv64-unknown-elf-g++ \
|
||||
--disable-examples --enable-static --disable-shared \
|
||||
CFLAGS="-march=rv32imac -mabi=ilp32 -mcmodel=medlow -ffunction-sections -fdata-sections -I~/freedom-e-sdk/bsp/sifive-hifive1/install/include -O0 -g -DNO_FILESYSTEM -DWOLFSSL_NO_SOCK -DNO_WRITEV -DWOLFCRYPT_ONLY -DWOLFSSL_SIFIVE_RISC_V"
|
||||
|
||||
$make
|
||||
$sudo make install
|
||||
```
|
||||
You can now build and link your software to the wolfSSL libwolfssl.a static library.
|
||||
|
||||
### `wolfcrypt_test()`
|
||||
|
||||
wolfcrypt_test() prints a message on the target console similar to the following output:
|
||||
|
||||
```
|
||||
SiFive HiFive1 Demo
|
||||
Setting clock to 320MHz
|
||||
Actual Clock 320MHz
|
||||
|
||||
error test passed!
|
||||
MEMORY test passed!
|
||||
base64 test passed!
|
||||
asn test passed!
|
||||
SHA test passed!
|
||||
SHA-256 test passed!
|
||||
SHA-512 test passed!
|
||||
Hash test passed!
|
||||
HMAC-SHA test passed!
|
||||
HMAC-SHA256 test passed!
|
||||
HMAC-SHA512 test passed!
|
||||
GMAC test passed!
|
||||
Chacha test passed!
|
||||
POLY1305 test passed!
|
||||
ChaCha20-Poly1305 AEAD test passed!
|
||||
AES test passed!
|
||||
AES192 test passed!
|
||||
AES256 test passed!
|
||||
AES-GCM test passed!
|
||||
RANDOM test passed!
|
||||
ECC test passed!
|
||||
ECC buffer test passed!
|
||||
CURVE25519 test passed!
|
||||
ED25519 test passed!
|
||||
logging test passed!
|
||||
mutex test passed!
|
||||
Test complete
|
||||
```
|
||||
### `benchmark_test()`
|
||||
|
||||
benchmark_test() prints a message on the target console similar to the following output.
|
||||
|
||||
TARGET=sifive-hifive1-revb:
|
||||
|
||||
```
|
||||
SiFive HiFive1 Demo
|
||||
Setting clock to 320MHz
|
||||
Actual Clock 320MHz
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
wolfSSL version 4.0.0
|
||||
------------------------------------------------------------------------------
|
||||
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
|
||||
RNG 250 KB took 1.098 seconds, 227.714 KB/s
|
||||
AES-128-CBC-enc 50 KB took 1.132 seconds, 44.175 KB/s
|
||||
AES-128-CBC-dec 50 KB took 1.142 seconds, 43.778 KB/s
|
||||
AES-192-CBC-enc 50 KB took 1.250 seconds, 40.007 KB/s
|
||||
AES-192-CBC-dec 50 KB took 1.260 seconds, 39.677 KB/s
|
||||
AES-256-CBC-enc 50 KB took 1.368 seconds, 36.552 KB/s
|
||||
AES-256-CBC-dec 50 KB took 1.378 seconds, 36.279 KB/s
|
||||
AES-128-GCM-enc 25 KB took 1.225 seconds, 20.412 KB/s
|
||||
AES-128-GCM-dec 25 KB took 1.225 seconds, 20.402 KB/s
|
||||
AES-192-GCM-enc 25 KB took 1.290 seconds, 19.373 KB/s
|
||||
AES-192-GCM-dec 25 KB took 1.291 seconds, 19.366 KB/s
|
||||
AES-256-GCM-enc 25 KB took 1.352 seconds, 18.487 KB/s
|
||||
AES-256-GCM-dec 25 KB took 1.353 seconds, 18.478 KB/s
|
||||
CHACHA 1 MB took 1.006 seconds, 1.020 MB/s
|
||||
CHA-POLY 700 KB took 1.032 seconds, 678.045 KB/s
|
||||
POLY1305 2 MB took 1.007 seconds, 2.255 MB/s
|
||||
SHA 2 MB took 1.002 seconds, 1.511 MB/s
|
||||
SHA-256 525 KB took 1.011 seconds, 519.279 KB/s
|
||||
SHA-512 275 KB took 1.017 seconds, 270.477 KB/s
|
||||
HMAC-SHA 1 MB took 1.013 seconds, 1.399 MB/s
|
||||
HMAC-SHA256 525 KB took 1.019 seconds, 515.020 KB/s
|
||||
HMAC-SHA512 275 KB took 1.032 seconds, 266.351 KB/s
|
||||
ECC 256 key gen 2 ops took 1.104 sec, avg 551.834 ms, 1.812 ops/sec
|
||||
ECDHE 256 agree 2 ops took 1.101 sec, avg 550.400 ms, 1.817 ops/sec
|
||||
ECDSA 256 sign 2 ops took 1.173 sec, avg 586.502 ms, 1.705 ops/sec
|
||||
ECDSA 256 verify 2 ops took 2.153 sec, avg 1076.294 ms, 0.929 ops/sec
|
||||
CURVE 25519 key gen 2 ops took 1.629 sec, avg 814.423 ms, 1.228 ops/sec
|
||||
CURVE 25519 agree 2 ops took 1.626 sec, avg 813.156 ms, 1.230 ops/sec
|
||||
ED 25519 key gen 1 ops took 1.436 sec, avg 1436.096 ms, 0.696 ops/sec
|
||||
ED 25519 sign 2 ops took 2.913 sec, avg 1456.421 ms, 0.687 ops/sec
|
||||
ED 25519 verify 2 ops took 5.012 sec, avg 2506.012 ms, 0.399 ops/sec
|
||||
Benchmark complete
|
||||
```
|
||||
|
||||
## Tested Configurations
|
||||
- P-RNG (NIST DRBG) with SHA-256
|
||||
- SHA 1/256/512
|
||||
- AES 128/192/256 CBC/GCM
|
||||
- ECC 256 sign/verify/shared secret with fast math or Single Precision (SP) library
|
||||
- ED25519/Curve25519
|
||||
- HMAC
|
||||
- ChaCha20/Poly1305
|
||||
|
||||
## Known Caveats
|
||||
- If you find the wolfcrypt test stuck on early_trap_vector error, it is like related to memory issues
|
||||
- Using the `__stack_size` default value of 0x400 will not be enough for the ECC test to pass.
|
||||
The `IDE/ECLIPSE/SIFIVE/Makefile` overwrites the value with 0x1000 (4 KBytes)
|
||||
- Enabling RSA will cause the ECC test to fail due to memory shortage.
|
||||
|
||||
## References
|
||||
|
||||
The test results were collected from a SiFive reference platform target with the following hardware, software and tool chains:
|
||||
- HiFive1 Rev A/Rev B: HiFive1 Development Board with the Freedom Everywhere SoC, E300
|
||||
- freedom-e-sdk
|
||||
- wolfssl [latest version](https://github.com/wolfSSL/wolfssl)
|
||||
|
||||
For more information or questions, please email [support@wolfssl.com](mailto:support@wolfssl.com)
|
||||
9
IDE/ECLIPSE/SIFIVE/include.am
Normal file
9
IDE/ECLIPSE/SIFIVE/include.am
Normal file
@@ -0,0 +1,9 @@
|
||||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
|
||||
EXTRA_DIST += \
|
||||
IDE/ECLIPSE/SIFIVE/README.md \
|
||||
IDE/ECLIPSE/SIFIVE/main.c \
|
||||
IDE/ECLIPSE/SIFIVE/Makefile\
|
||||
IDE/ECLIPSE/SIFIVE/user_settings.h
|
||||
184
IDE/ECLIPSE/SIFIVE/main.c
Normal file
184
IDE/ECLIPSE/SIFIVE/main.c
Normal file
@@ -0,0 +1,184 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfcrypt/test/test.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
||||
/* wolfCrypt_Init/wolfCrypt_Cleanup */
|
||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifndef __METAL_MACHINE_HEADER
|
||||
#define __METAL_MACHINE_HEADER "../../../../bsp/sifive-hifive1-revb/metal.h"
|
||||
#endif
|
||||
#include <metal/machine.h>
|
||||
|
||||
#ifndef NO_CRYPT_BENCHMARK
|
||||
|
||||
/*-specs=nano.specs doesn’t include support for floating point in printf()*/
|
||||
asm (".global _printf_float");
|
||||
|
||||
#ifndef RTC_FREQ
|
||||
#define RTC_FREQ 32768UL
|
||||
#endif
|
||||
|
||||
/* CLINT Registers (Core Local Interruptor) for time */
|
||||
#define CLINT_BASE 0x02000000UL
|
||||
#define CLINT_REG_MTIME (*((volatile uint32_t *)(CLINT_BASE + 0xBFF8)))
|
||||
|
||||
#define WOLFSSL_SIFIVE_RISC_V_DEBUG 0
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
double now = CLINT_REG_MTIME;
|
||||
(void)reset;
|
||||
return now/RTC_FREQ;
|
||||
}
|
||||
#endif /* !NO_CRYPT_BENCHMARK */
|
||||
|
||||
#if WOLFSSL_SIFIVE_RISC_V_DEBUG
|
||||
void check(int depth) {
|
||||
char ch;
|
||||
char *ptr = malloc(1);
|
||||
|
||||
printf("stack at %p, heap at %p\n", &ch, ptr);
|
||||
if (depth <= 0)
|
||||
return;
|
||||
|
||||
check(depth-1);
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void mtime_sleep(uint32_t ticks) {
|
||||
uint32_t start = CLINT_REG_MTIME;
|
||||
|
||||
while((CLINT_REG_MTIME - start) < ticks) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void delay(uint32_t sec) {
|
||||
uint32_t ticks = sec * RTC_FREQ;
|
||||
mtime_sleep(ticks);
|
||||
}
|
||||
#endif /* WOLFSSL_SIFIVE_RISC_V_DEBUG */
|
||||
|
||||
/* RNG CODE */
|
||||
/* TODO: Implement real RNG */
|
||||
static unsigned int gCounter;
|
||||
unsigned int hw_rand(void)
|
||||
{
|
||||
/* #warning Must implement your own random source */
|
||||
|
||||
return ++gCounter;
|
||||
}
|
||||
|
||||
unsigned int my_rng_seed_gen(void)
|
||||
{
|
||||
return hw_rand();
|
||||
}
|
||||
|
||||
int my_rng_gen_block(unsigned char* output, unsigned int sz)
|
||||
{
|
||||
uint32_t i = 0;
|
||||
uint32_t randReturnSize = sizeof(CUSTOM_RAND_TYPE);
|
||||
|
||||
while (i < sz)
|
||||
{
|
||||
/* If not aligned or there is odd/remainder */
|
||||
if((i + randReturnSize) > sz ||
|
||||
((uint32_t)&output[i] % randReturnSize) != 0 ) {
|
||||
/* Single byte at a time */
|
||||
output[i++] = (unsigned char)my_rng_seed_gen();
|
||||
}
|
||||
else {
|
||||
/* Use native 8, 16, 32 or 64 copy instruction */
|
||||
*((CUSTOM_RAND_TYPE*)&output[i]) = my_rng_seed_gen();
|
||||
i += randReturnSize;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#if !defined(NO_CLOCK_SPEEDUP) && !defined(USE_CLOCK_HZ)
|
||||
/* 320MHz */
|
||||
#define USE_CLOCK_HZ 320000000UL
|
||||
#endif
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int ret;
|
||||
long clk_Hz = 16000000; /* default */
|
||||
|
||||
#if WOLFSSL_SIFIVE_RISC_V_DEBUG
|
||||
printf("check stack and heap addresses\n");
|
||||
check(8);
|
||||
printf("sleep for 10 seconds to verify timer, measure using a stopwatch\n");
|
||||
delay(10);
|
||||
printf("awake after sleeping for 10 seconds\n");
|
||||
#endif
|
||||
|
||||
#ifdef USE_CLOCK_HZ
|
||||
/* Speed up clock */
|
||||
printf("SiFive HiFive1 Demo\n");
|
||||
printf("Setting clock to %dMHz\n", USE_CLOCK_HZ/1000000);
|
||||
clk_Hz = metal_clock_set_rate_hz(
|
||||
&__METAL_DT_SIFIVE_FE310_G000_PLL_HANDLE->clock, USE_CLOCK_HZ
|
||||
);
|
||||
#endif
|
||||
printf("Actual Clock %dMHz\n", clk_Hz/1000000);
|
||||
|
||||
/* Reconfigure the SPI Bus for dual mode */
|
||||
#define QSPI0_CTRL 0x10014000UL
|
||||
#define FESPI_REG_FFMT (*((volatile uint32_t *)(QSPI0_CTRL + 0x64)))
|
||||
FESPI_REG_FFMT = 0xbb1447;
|
||||
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
wolfSSL_Debugging_ON();
|
||||
#endif
|
||||
|
||||
if ((ret = wolfCrypt_Init()) != 0) {
|
||||
printf("wolfCrypt_Init failed %d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifndef NO_CRYPT_TEST
|
||||
printf("\nwolfCrypt Test Started\n");
|
||||
wolfcrypt_test(NULL);
|
||||
printf("\nwolfCrypt Test Completed\n");
|
||||
#endif
|
||||
|
||||
#ifndef NO_CRYPT_BENCHMARK
|
||||
printf("\nBenchmark Test Started\n");
|
||||
benchmark_test(NULL);
|
||||
printf("\nBenchmark Test Completed\n");
|
||||
#endif
|
||||
|
||||
if ((ret = wolfCrypt_Cleanup()) != 0) {
|
||||
printf("wolfCrypt_Cleanup failed %d\n", ret);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
592
IDE/ECLIPSE/SIFIVE/user_settings.h
Normal file
592
IDE/ECLIPSE/SIFIVE/user_settings.h
Normal file
@@ -0,0 +1,592 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* Example Settings for SiFive HiFive1 */
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS_H
|
||||
#define WOLFSSL_USER_SETTINGS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* SiFive HiFive */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_SIFIVE_RISC_V
|
||||
#define WOLFSSL_SIFIVE_RISC_V
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Platform */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#undef WOLFSSL_GENERAL_ALIGNMENT
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||
|
||||
#undef SINGLE_THREADED
|
||||
#define SINGLE_THREADED
|
||||
|
||||
#undef WOLFSSL_SMALL_STACK
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
|
||||
#undef WOLFSSL_USER_IO
|
||||
#define WOLFSSL_USER_IO
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Math Configuration */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef SIZEOF_LONG_LONG
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
|
||||
#undef USE_FAST_MATH
|
||||
|
||||
#if 1
|
||||
#define USE_FAST_MATH
|
||||
|
||||
#undef TFM_TIMING_RESISTANT
|
||||
#define TFM_TIMING_RESISTANT
|
||||
|
||||
/* Optimizations */
|
||||
//#define TFM_ARM
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Asymmetric */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RSA */
|
||||
/* Not enabled due to memory constraints on HiFive1 */
|
||||
#undef NO_RSA
|
||||
#if 0
|
||||
#ifdef USE_FAST_MATH
|
||||
/* Maximum math bits (Max RSA key bits * 2) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS 4096
|
||||
#endif
|
||||
|
||||
/* half as much memory but twice as slow */
|
||||
#undef RSA_LOW_MEM
|
||||
#define RSA_LOW_MEM
|
||||
|
||||
/* Enables blinding mode, to prevent timing attacks */
|
||||
#if 1
|
||||
#undef WC_RSA_BLINDING
|
||||
#define WC_RSA_BLINDING
|
||||
#else
|
||||
#undef WC_NO_HARDEN
|
||||
#define WC_NO_HARDEN
|
||||
#endif
|
||||
|
||||
/* RSA PSS Support */
|
||||
#if 0
|
||||
#define WC_RSA_PSS
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define WC_RSA_NO_PADDING
|
||||
#endif
|
||||
#else
|
||||
#define NO_RSA
|
||||
#endif
|
||||
|
||||
/* ECC */
|
||||
#undef HAVE_ECC
|
||||
#if 1
|
||||
#define HAVE_ECC
|
||||
|
||||
/* Manually define enabled curves */
|
||||
#undef ECC_USER_CURVES
|
||||
#define ECC_USER_CURVES
|
||||
|
||||
#ifdef ECC_USER_CURVES
|
||||
/* Manual Curve Selection, FP_MAX_BITS must be adjusted accordingly */
|
||||
// #define HAVE_ECC192
|
||||
// #define HAVE_ECC224
|
||||
#undef NO_ECC256
|
||||
// #define HAVE_ECC384
|
||||
// #define HAVE_ECC521
|
||||
#endif
|
||||
|
||||
/* Fixed point cache (speeds repeated operations against same private key) */
|
||||
#undef FP_ECC
|
||||
//#define FP_ECC
|
||||
#ifdef FP_ECC
|
||||
/* Bits / Entries */
|
||||
#undef FP_ENTRIES
|
||||
#define FP_ENTRIES 2
|
||||
#undef FP_LUT
|
||||
#define FP_LUT 4
|
||||
#endif
|
||||
|
||||
/* Optional ECC calculation method */
|
||||
/* Note: doubles heap usage, but slightly faster */
|
||||
#undef ECC_SHAMIR
|
||||
//#define ECC_SHAMIR
|
||||
|
||||
/* Reduces heap usage, but slower */
|
||||
#undef ECC_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
|
||||
/* Enable cofactor support */
|
||||
#undef HAVE_ECC_CDH
|
||||
//#define HAVE_ECC_CDH
|
||||
|
||||
/* Validate import */
|
||||
#undef WOLFSSL_VALIDATE_ECC_IMPORT
|
||||
//#define WOLFSSL_VALIDATE_ECC_IMPORT
|
||||
|
||||
/* Compressed Key Support */
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
/* Use alternate ECC size for ECC math */
|
||||
#ifdef USE_FAST_MATH
|
||||
#ifdef NO_RSA
|
||||
/* Custom fastmath size if not using RSA */
|
||||
/* MAX = ROUND32(ECC BITS 256) + SIZE_OF_MP_DIGIT(32) */
|
||||
#undef FP_MAX_BITS
|
||||
#define FP_MAX_BITS (256 + 32)
|
||||
#else
|
||||
#undef ALT_ECC_SIZE
|
||||
/* Disable alternate ECC size, since it uses HEAP allocations.
|
||||
Heap is limited resource on HiFive1 */
|
||||
//#define ALT_ECC_SIZE
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* DH */
|
||||
#undef NO_DH
|
||||
#if 0
|
||||
/* Use table for DH instead of -lm (math) lib dependency */
|
||||
#if 0
|
||||
#define WOLFSSL_DH_CONST
|
||||
#endif
|
||||
|
||||
#define HAVE_FFDHE_2048
|
||||
//#define HAVE_FFDHE_4096
|
||||
//#define HAVE_FFDHE_6144
|
||||
//#define HAVE_FFDHE_8192
|
||||
#else
|
||||
#define NO_DH
|
||||
#endif
|
||||
|
||||
|
||||
/* Wolf Single Precision Math */
|
||||
/* Optional ECC SECP256R1 acceleration using optimized C code */
|
||||
#undef WOLFSSL_SP
|
||||
#if 1
|
||||
#define WOLFSSL_SP
|
||||
#define WOLFSSL_SP_SMALL /* use smaller version of code (requires heap) */
|
||||
#define SP_WORD_SIZE 32 /* force 32-bit type */
|
||||
#define WOLFSSL_SP_MATH /* only SP math - eliminates fast math code */
|
||||
//#define WOLFSSL_SP_DIV_32 /* do not use 64-bit divides */
|
||||
|
||||
#ifdef HAVE_ECC
|
||||
#define WOLFSSL_HAVE_SP_ECC
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
#define WOLFSSL_HAVE_SP_RSA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Ed25519 / Curve25519 */
|
||||
#undef HAVE_CURVE25519
|
||||
#undef HAVE_ED25519
|
||||
#if 1
|
||||
#define HAVE_CURVE25519
|
||||
#define HAVE_ED25519 /* ED25519 Requires SHA512 */
|
||||
|
||||
/* Optionally use small math (less flash usage, but much slower) */
|
||||
#if 1
|
||||
/* Curve and Ed 25519 small */
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Symmetric Ciphers */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* AES */
|
||||
#undef NO_AES
|
||||
#if 1
|
||||
#undef HAVE_AES_CBC
|
||||
#define HAVE_AES_CBC
|
||||
|
||||
#undef HAVE_AESGCM
|
||||
#define HAVE_AESGCM
|
||||
|
||||
/* GCM Method: GCM_SMALL, GCM_WORD32 or GCM_TABLE */
|
||||
#define GCM_SMALL
|
||||
|
||||
#undef WOLFSSL_AES_DIRECT
|
||||
//#define WOLFSSL_AES_DIRECT
|
||||
|
||||
#undef HAVE_AES_ECB
|
||||
//#define HAVE_AES_ECB
|
||||
|
||||
#undef WOLFSSL_AES_COUNTER
|
||||
//#define WOLFSSL_AES_COUNTER
|
||||
|
||||
#undef HAVE_AESCCM
|
||||
//#define HAVE_AESCCM
|
||||
#endif
|
||||
|
||||
/* DES3 */
|
||||
#undef NO_DES3
|
||||
#if 0
|
||||
#else
|
||||
#define NO_DES3
|
||||
#endif
|
||||
|
||||
/* ChaCha20 / Poly1305 */
|
||||
#undef HAVE_CHACHA
|
||||
#undef HAVE_POLY1305
|
||||
#if 1
|
||||
#define HAVE_CHACHA
|
||||
#define HAVE_POLY1305
|
||||
|
||||
/* Needed for Poly1305 */
|
||||
#undef HAVE_ONE_TIME_AUTH
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Symmetric Hashing */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Sha */
|
||||
#undef NO_SHA
|
||||
#if 1
|
||||
/* 1k smaller, but 25% slower */
|
||||
//#define USE_SLOW_SHA
|
||||
#else
|
||||
#define NO_SHA
|
||||
#endif
|
||||
|
||||
/* Sha256 */
|
||||
#undef NO_SHA256
|
||||
#if 1
|
||||
/* not unrolled - ~2k smaller and ~25% slower */
|
||||
//#define USE_SLOW_SHA256
|
||||
|
||||
/* Sha224 */
|
||||
#if 0
|
||||
#define WOLFSSL_SHA224
|
||||
#endif
|
||||
#else
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
|
||||
/* Sha512 */
|
||||
#undef WOLFSSL_SHA512
|
||||
#if 1
|
||||
#define WOLFSSL_SHA512
|
||||
|
||||
/* Sha384 */
|
||||
#undef WOLFSSL_SHA384
|
||||
#if 0
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
|
||||
/* over twice as small, but 50% slower */
|
||||
#define USE_SLOW_SHA512
|
||||
#endif
|
||||
|
||||
/* Sha3 */
|
||||
#undef WOLFSSL_SHA3
|
||||
#if 0
|
||||
#define WOLFSSL_SHA3
|
||||
#endif
|
||||
|
||||
/* MD5 */
|
||||
#undef NO_MD5
|
||||
#if 0
|
||||
|
||||
#else
|
||||
#define NO_MD5
|
||||
#endif
|
||||
|
||||
/* Blake2B */
|
||||
#undef HAVE_BLAKE2
|
||||
#if 0
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
|
||||
/* Blake2S */
|
||||
#undef HAVE_BLAKE2S
|
||||
#if 0
|
||||
#define HAVE_BLAKE2S
|
||||
#endif
|
||||
|
||||
/* HKDF */
|
||||
#undef HAVE_HKDF
|
||||
#if 0
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
|
||||
/* CMAC */
|
||||
#undef WOLFSSL_CMAC
|
||||
#if 0
|
||||
#define WOLFSSL_CMAC
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Benchmark / Test */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Use reduced benchmark / test sizes */
|
||||
#undef BENCH_EMBEDDED
|
||||
#define BENCH_EMBEDDED
|
||||
|
||||
#undef USE_CERT_BUFFERS_2048
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
|
||||
#undef USE_CERT_BUFFERS_1024
|
||||
//#define USE_CERT_BUFFERS_1024
|
||||
|
||||
#undef USE_CERT_BUFFERS_256
|
||||
#define USE_CERT_BUFFERS_256
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Debugging */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#undef DEBUG_WOLFSSL
|
||||
#undef NO_ERROR_STRINGS
|
||||
#if 0
|
||||
#define DEBUG_WOLFSSL
|
||||
#else
|
||||
#if 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Memory */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Memory API's */
|
||||
#if 0
|
||||
#undef XMALLOC_OVERRIDE
|
||||
#define XMALLOC_OVERRIDE
|
||||
|
||||
/* prototypes for user heap override functions */
|
||||
/* Note: Realloc only required for normal math */
|
||||
#include <stddef.h> /* for size_t */
|
||||
extern void *myMalloc(size_t n, void* heap, int type);
|
||||
extern void myFree(void *p, void* heap, int type);
|
||||
extern void *myRealloc(void *p, size_t n, void* heap, int type);
|
||||
|
||||
#define XMALLOC(n, h, t) myMalloc(n, h, t)
|
||||
#define XFREE(p, h, t) myFree(p, h, t)
|
||||
#define XREALLOC(p, n, h, t) myRealloc(p, n, h, t)
|
||||
#endif
|
||||
|
||||
/* Static memory */
|
||||
#if 0
|
||||
/* Static memory requires fast math */
|
||||
#define WOLFSSL_STATIC_MEMORY
|
||||
|
||||
/* Disable fallback malloc/free */
|
||||
#define WOLFSSL_NO_MALLOC
|
||||
#if 1
|
||||
#define WOLFSSL_MALLOC_CHECK /* trap malloc failure */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Memory callbacks */
|
||||
#if 0
|
||||
#undef USE_WOLFSSL_MEMORY
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
|
||||
/* Use this to measure / print heap usage */
|
||||
#if 1
|
||||
#undef WOLFSSL_TRACK_MEMORY
|
||||
#define WOLFSSL_TRACK_MEMORY
|
||||
|
||||
#undef WOLFSSL_DEBUG_MEMORY
|
||||
#define WOLFSSL_DEBUG_MEMORY
|
||||
#endif
|
||||
#else
|
||||
#ifndef WOLFSSL_STATIC_MEMORY
|
||||
#define NO_WOLFSSL_MEMORY
|
||||
/* Otherwise we will use stdlib malloc, free and realloc */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Port */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Override Current Time */
|
||||
#if defined(WOLFSSL_SIFIVE_RISC_V)
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmarks, uses "custom_time()" function */
|
||||
#define WOLFSSL_GMTIME
|
||||
#define USER_TICKS
|
||||
#else
|
||||
// extern unsigned long my_time(unsigned long* timer);
|
||||
// #define XTIME my_time
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* RNG */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#if 0
|
||||
/* Bypass P-RNG and use only HW RNG */
|
||||
#define CUSTOM_RAND_TYPE unsigned int
|
||||
extern int my_rng_gen_block(unsigned char* output, unsigned int sz);
|
||||
#undef CUSTOM_RAND_GENERATE_BLOCK
|
||||
#define CUSTOM_RAND_GENERATE_BLOCK my_rng_gen_block
|
||||
#else
|
||||
#define HAVE_HASHDRBG
|
||||
|
||||
/* Seed Source */
|
||||
/* Size of returned HW RNG value */
|
||||
#define CUSTOM_RAND_TYPE unsigned int
|
||||
extern unsigned int my_rng_seed_gen(void);
|
||||
#undef CUSTOM_RAND_GENERATE
|
||||
#define CUSTOM_RAND_GENERATE my_rng_seed_gen
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Enable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef WOLFSSL_TLS13
|
||||
#if 0
|
||||
#define WOLFSSL_TLS13
|
||||
#endif
|
||||
|
||||
#undef WOLFSSL_KEY_GEN
|
||||
#if 0
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
|
||||
/* reduce DH test time */
|
||||
#define WOLFSSL_OLD_PRIME_CHECK
|
||||
|
||||
#undef KEEP_PEER_CERT
|
||||
//#define KEEP_PEER_CERT
|
||||
|
||||
#undef HAVE_COMP_KEY
|
||||
//#define HAVE_COMP_KEY
|
||||
|
||||
#undef HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
|
||||
#undef HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
#undef WOLFSSL_BASE64_ENCODE
|
||||
//#define WOLFSSL_BASE64_ENCODE
|
||||
|
||||
/* TLS Session Cache */
|
||||
#if 0
|
||||
#define SMALL_SESSION_CACHE
|
||||
#else
|
||||
#define NO_SESSION_CACHE
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Disable Features */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#undef NO_WOLFSSL_SERVER
|
||||
//#define NO_WOLFSSL_SERVER
|
||||
|
||||
#undef NO_WOLFSSL_CLIENT
|
||||
//#define NO_WOLFSSL_CLIENT
|
||||
|
||||
#undef NO_CRYPT_TEST
|
||||
//#define NO_CRYPT_TEST
|
||||
|
||||
#undef NO_CRYPT_BENCHMARK
|
||||
//#define NO_CRYPT_BENCHMARK
|
||||
|
||||
#undef WOLFCRYPT_ONLY
|
||||
//#define WOLFCRYPT_ONLY
|
||||
|
||||
/* In-lining of misc.c functions */
|
||||
/* If defined, must include wolfcrypt/src/misc.c in build */
|
||||
/* Slower, but about 1k smaller */
|
||||
#undef NO_INLINE
|
||||
//#define NO_INLINE
|
||||
|
||||
#undef NO_FILESYSTEM
|
||||
#define NO_FILESYSTEM
|
||||
|
||||
#undef NO_WRITEV
|
||||
#define NO_WRITEV
|
||||
|
||||
#undef NO_MAIN_DRIVER
|
||||
#define NO_MAIN_DRIVER
|
||||
|
||||
#undef NO_DEV_RANDOM
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#undef NO_DSA
|
||||
#define NO_DSA
|
||||
|
||||
#undef NO_RC4
|
||||
#define NO_RC4
|
||||
|
||||
#undef NO_OLD_TLS
|
||||
#define NO_OLD_TLS
|
||||
|
||||
#undef NO_HC128
|
||||
#define NO_HC128
|
||||
|
||||
#undef NO_RABBIT
|
||||
#define NO_RABBIT
|
||||
|
||||
#undef NO_PSK
|
||||
#define NO_PSK
|
||||
|
||||
#undef NO_MD4
|
||||
#define NO_MD4
|
||||
|
||||
#undef NO_PWDBASED
|
||||
#define NO_PWDBASED
|
||||
|
||||
#undef NO_CODING
|
||||
//#define NO_CODING
|
||||
|
||||
#undef NO_ASN_TIME
|
||||
//#define NO_ASN_TIME
|
||||
|
||||
#undef NO_CERTS
|
||||
//#define NO_CERTS
|
||||
|
||||
#undef NO_SIG_WRAPPER
|
||||
//#define NO_SIG_WRAPPER
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_USER_SETTINGS_H */
|
||||
@@ -31,6 +31,22 @@ Including the following examples:
|
||||
## Build examples
|
||||
1. See README in each example folder
|
||||
|
||||
## Benchmark
|
||||
w/o atecc608a
|
||||
```
|
||||
ECC 256 key gen 4 ops took 1.092 sec, avg 273.000 ms, 3.663 ops/sec
|
||||
ECDHE 256 agree 4 ops took 1.091 sec, avg 272.750 ms, 3.666 ops/sec
|
||||
ECDSA 256 sign 4 ops took 1.102 sec, avg 275.500 ms, 3.630 ops/sec
|
||||
ECDSA 256 verify 2 ops took 1.091 sec, avg 545.500 ms, 1.833 ops/sec
|
||||
```
|
||||
w/ atecc608a
|
||||
```
|
||||
ECC 256 key gen 11 ops took 1.074 sec, avg 97.636 ms, 10.242 ops/sec
|
||||
ECDHE 256 agree 6 ops took 1.068 sec, avg 178.000 ms, 5.618 ops/sec
|
||||
ECDSA 256 sign 8 ops took 1.009 sec, avg 126.125 ms, 7.929 ops/sec
|
||||
ECDSA 256 verify 14 ops took 1.079 sec, avg 77.071 ms, 12.975 ops/sec
|
||||
```
|
||||
|
||||
## Support
|
||||
For question please email [support@wolfssl.com]
|
||||
|
||||
@@ -21,25 +21,18 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
||||
#include "sdkconfig.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_log.h"
|
||||
#include "nvs_flash.h"
|
||||
|
||||
#define WOLFSSL_BENCH_ARGV CONFIG_BENCH_ARGV
|
||||
#define WOLFSSLBENCHMARK_TASK_NAME "wolfsslbenchmark_name"
|
||||
#define WOLFSSLBENCHMARK_TASK_WORDS 10240
|
||||
#define WOLFSSLBENCHMARK_TASK_PRIORITY 8
|
||||
|
||||
/* proto-type */
|
||||
extern void wolf_benchmark_task();
|
||||
|
||||
static const char* const TAG = "wolfbenchmark";
|
||||
|
||||
char* __argv[22];
|
||||
|
||||
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
|
||||
@@ -57,8 +50,7 @@ static byte mSlotList[ATECC_MAX_SLOT];
|
||||
void my_atmel_slotInit()
|
||||
{
|
||||
int i;
|
||||
|
||||
for(i=0;i<ATECC_MAX_SLOT; i++) {
|
||||
for(i = 0;i < ATECC_MAX_SLOT;i++) {
|
||||
mSlotList[i] = ATECC_INVALID_SLOT;
|
||||
}
|
||||
}
|
||||
@@ -68,8 +60,6 @@ int my_atmel_alloc(int slotType)
|
||||
{
|
||||
int i, slot = -1;
|
||||
|
||||
ESP_LOGI(TAG, "Enter my_atmel_alloc");
|
||||
|
||||
switch(slotType){
|
||||
case ATMEL_SLOT_ENCKEY:
|
||||
slot = 4;
|
||||
@@ -78,13 +68,13 @@ int my_atmel_alloc(int slotType)
|
||||
slot = 0;
|
||||
break;
|
||||
case ATMEL_SLOT_ECDHE:
|
||||
slot = 2;
|
||||
slot = 0;
|
||||
break;
|
||||
case ATMEL_SLOT_ECDHE_ENC:
|
||||
slot = 4;
|
||||
break;
|
||||
case ATMEL_SLOT_ANY:
|
||||
for(i=0;i<ATECC_MAX_SLOT;i++){
|
||||
for(i = 0;i < ATECC_MAX_SLOT;i++){
|
||||
if(mSlotList[i] == ATECC_INVALID_SLOT){
|
||||
slot = i;
|
||||
break;
|
||||
@@ -92,22 +82,15 @@ int my_atmel_alloc(int slotType)
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Leave my_atmel_alloc\n");
|
||||
|
||||
return slot;
|
||||
}
|
||||
|
||||
/* free slot array */
|
||||
void my_atmel_free(int slotId)
|
||||
{
|
||||
ESP_LOGI(TAG, "Enter my_atmel_alloc");
|
||||
|
||||
if(slotId >= 0 && slotId < ATECC_MAX_SLOT){
|
||||
mSlotList[slotId] = ATECC_INVALID_SLOT;
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "Leave my_atmel_alloc");
|
||||
|
||||
}
|
||||
|
||||
#endif /* CUSTOM_SLOT_ALLOCATION */
|
||||
@@ -167,30 +150,22 @@ int construct_argv()
|
||||
/* entry point */
|
||||
void app_main(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "Start app_main...");
|
||||
ESP_ERROR_CHECK(nvs_flash_init());
|
||||
|
||||
#ifndef NO_CRYPT_BENCHMARK
|
||||
|
||||
/* when using atecc608a on esp32-wroom-32se */
|
||||
/* when using atecc608a on esp32-wroom-32se */
|
||||
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
|
||||
&& defined(WOLFSSL_ATECC508A)
|
||||
#if defined(CUSTOM_SLOT_ALLOCATION)
|
||||
ESP_LOGI(TAG, "register callback for slot allocation");
|
||||
my_atmel_slotInit();
|
||||
/* to register the callback, it needs to be initialized. */
|
||||
benchmark_init();
|
||||
if ((wolfCrypt_Init()) != 0) {
|
||||
ESP_LOGE(TAG, "wolfCrypt_Init failed");
|
||||
return;
|
||||
}
|
||||
atmel_set_slot_allocator(my_atmel_alloc, my_atmel_free);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
ESP_LOGI(TAG, "Start benchmark..");
|
||||
wolf_benchmark_task();
|
||||
|
||||
#else
|
||||
ESP_LOGI(TAG, "no crypt benchmark");
|
||||
|
||||
#endif /* NO_CRYPT_BENCHMARK */
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
CONFIG_BENCH_ARGV="-lng 0"
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=5000
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=7000
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
|
||||
@@ -10,11 +10,11 @@ The Example contains of wolfSSL tls client demo.
|
||||
Target host ip address : the host that you want to connect to.(default is 127.0.0.1)
|
||||
|
||||
Note: the example program uses 11111 port. If you want to use different port
|
||||
, you need to modifiy DEFAULT_PORT definition in the code.
|
||||
, you need to modify DEFAULT_PORT definition in the code.
|
||||
|
||||
When you want to test the wolfSSL client
|
||||
|
||||
1. "make falsh monitor" to load the firmware and see the context
|
||||
1. "make flash monitor" to load the firmware and see the context
|
||||
2. You can use <wolfssl>/examples/server/server program for test.
|
||||
|
||||
e.g. Launch ./examples/server/server -v 4 -b -i
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL. (formerly known as CyaSSL)
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -16,7 +16,7 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
/* the usual suspects */
|
||||
#include <stdlib.h>
|
||||
@@ -61,7 +61,7 @@ static void ShowCiphers(void)
|
||||
|
||||
#include "wolfssl/wolfcrypt/port/atmel/atmel.h"
|
||||
|
||||
/* when you want to use custome slot allocation */
|
||||
/* when you want to use custom slot allocation */
|
||||
/* enable the definition CUSTOM_SLOT_ALLOCATION.*/
|
||||
|
||||
#if defined(CUSTOM_SLOT_ALLOCATION)
|
||||
@@ -235,7 +235,7 @@ void tls_smp_client_task()
|
||||
#if defined(WOLFSSL_ESPWROOM32SE) && defined(HAVE_PK_CALLBACKS) \
|
||||
&& defined(WOLFSSL_ATECC508A)
|
||||
atcatls_set_callbacks(ctx);
|
||||
/* when using custome slot-allocation */
|
||||
/* when using custom slot-allocation */
|
||||
#if defined(CUSTOM_SLOT_ALLOCATION)
|
||||
my_atmel_slotInit();
|
||||
atmel_set_slot_allocator(my_atmel_alloc, my_atmel_free);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.c
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.h
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL. (formerly known as CyaSSL)
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -16,7 +16,7 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
/* the usual suspects */
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wifi_connect.c
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -4,7 +4,7 @@ The Example contains of wolfSSL test program.
|
||||
|
||||
When you want to run the benchmark program
|
||||
1. "make menuconfig" to configure the program,first
|
||||
1. "make flash" to compile and load the firemware
|
||||
2. "make monitor" to see the message
|
||||
2. "make flash" to compile and load the firmware
|
||||
3. "make monitor" to see the message
|
||||
|
||||
See the README.md file in the upper level 'examples' directory for more information about examples.
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=5000
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=9000
|
||||
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* wolfssl sha tests
|
||||
* wolfssl unit tests
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "unity.h"
|
||||
#include "sdkconfig.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_timer.h"
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/sha.h>
|
||||
@@ -20,10 +21,18 @@
|
||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
#include <wolfssl/wolfcrypt/integer.h>
|
||||
|
||||
static const char* TAG = "wolfssl unit test";
|
||||
#ifdef NO_INLINE
|
||||
#include <wolfssl/wolfcrypt/misc.h>
|
||||
#else
|
||||
#define WOLFSSL_MISC_INCLUDED
|
||||
#include <wolfcrypt/src/misc.c>
|
||||
#endif
|
||||
static const char* const TAG = "wolfssl unit test";
|
||||
static xSemaphoreHandle exit_semaph;
|
||||
static volatile bool exit_loop=false;
|
||||
static uint64_t startTime = 0;
|
||||
|
||||
#define SHA_STACK_SIZE (20*1024)
|
||||
#define TIMES_SHA 500
|
||||
@@ -42,12 +51,51 @@ int sha384_test(void);
|
||||
int sha512_test(void);
|
||||
#endif
|
||||
|
||||
static uint64_t rsa_elapsedTime = 0;
|
||||
static void esp32TimerStart()
|
||||
{
|
||||
startTime = esp_timer_get_time();
|
||||
}
|
||||
|
||||
static uint64_t esp32elapsedTime()
|
||||
{
|
||||
/* return elapsed time since wc_esp32AesTimeStart() is called in us */
|
||||
return esp_timer_get_time() - startTime;
|
||||
}
|
||||
|
||||
#ifndef NO_RSA
|
||||
int rsa_test(void);
|
||||
static void tskRsa_Test(void *pvParam)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskRsa_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
if(rsa_elapsedTime == 0) esp32TimerStart();
|
||||
ret = rsa_test();
|
||||
if(rsa_elapsedTime == 0) rsa_elapsedTime = esp32elapsedTime()/1000;
|
||||
if(ret != 0) {
|
||||
printf("result was not good(rsa_test)(%d)\n",ret);
|
||||
TEST_FAIL_MESSAGE("tskRsa_Test\n");
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskRsa_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef NO_AES
|
||||
int aes_test(void);
|
||||
static void tskAes_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskAes_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskAes_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = aes_test();
|
||||
if(ret != 0) {
|
||||
@@ -56,17 +104,20 @@ static void tskAes_Test(void *pvParam)
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskAes_Test");
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
ESP_LOGI(TAG, "leave tskAes_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
int aesgcm_test(void);
|
||||
|
||||
static void tskAesGcm_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskAesGcm_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskAesGcm_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = aesgcm_test();
|
||||
if(ret != 0) {
|
||||
@@ -83,8 +134,10 @@ static void tskAesGcm_Test(void *pvParam)
|
||||
int aes192_test(void);
|
||||
static void tskAes192_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskAes192_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskAes192_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = aes192_test();
|
||||
if(ret != 0) {
|
||||
@@ -101,8 +154,10 @@ static void tskAes192_Test(void *pvParam)
|
||||
int aes256_test(void);
|
||||
static void tskAes256_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskAes256_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskAes256_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = aes256_test();
|
||||
if(ret != 0) {
|
||||
@@ -116,6 +171,473 @@ static void tskAes256_Test(void *pvParam)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !defined(NO_RSA) || defined(HAVE_ECC)
|
||||
|
||||
int mp_performance_check(int mul, int mulmod, int exptmod)
|
||||
{
|
||||
int ret = 0;
|
||||
int i,j,k;
|
||||
word32 Xbits;
|
||||
word32 Ybits;
|
||||
word32 Pbits;
|
||||
byte strX[256];
|
||||
byte strY[256];
|
||||
byte strP[256];
|
||||
uint64_t elapsedTime1;
|
||||
uint64_t elapsedTime2;
|
||||
uint64_t elapsedTime3;
|
||||
RNG rng;
|
||||
mp_int z1, z2, z3, x, p, y;
|
||||
|
||||
/* sanity check */
|
||||
if(!(mul||mulmod||exptmod)) return ret;
|
||||
|
||||
XMEMSET(strX, 0, sizeof(strX));
|
||||
XMEMSET(strY, 0, sizeof(strY));
|
||||
XMEMSET(strP, 0, sizeof(strP));
|
||||
|
||||
wc_InitRng(&rng);
|
||||
|
||||
ret = wc_RNG_GenerateBlock(&rng, strX, sizeof(strX));
|
||||
if (ret != 0) {
|
||||
return -1; //generating block failed!
|
||||
}
|
||||
ret = wc_RNG_GenerateBlock(&rng, strY, sizeof(strY));
|
||||
if (ret != 0) {
|
||||
return -1; //generating block failed!
|
||||
}
|
||||
ret = wc_RNG_GenerateBlock(&rng, strP, sizeof(strP));
|
||||
if (ret != 0) {
|
||||
return -1; //generating block failed!
|
||||
}
|
||||
|
||||
if((strP[255]&1) == 0) {
|
||||
strP[255] |= 1;
|
||||
}
|
||||
|
||||
for(i = 0; i < 256; i+=16) {
|
||||
for(j = 0; j < 256; j+=16) {
|
||||
for(k = 0; k < 256; k+=16) {
|
||||
/* set init mp_int */
|
||||
if((ret = mp_init_multi(&z1, &x, &y, &p, &z2, NULL)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_init failed.\n");
|
||||
}
|
||||
|
||||
/* set big-numbers into mp_inits */
|
||||
if(ret == 0 && mp_read_unsigned_bin(&x, (const byte*)&strX[i+1], i+1) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strX into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_unsigned_bin(&y, (const byte*)&strY[j+1], j+1) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_unsigned_bin(&p, (const byte*)&strP[k+1], k+1) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
Xbits = mp_count_bits(&x);
|
||||
Ybits = mp_count_bits(&y);
|
||||
Pbits = mp_count_bits(&p);
|
||||
|
||||
if(mul) {
|
||||
/* Z = X * Y */
|
||||
esp32TimerStart();
|
||||
if(ret == 0 && (ret = mp_mul(&x, &y, &z1)) != MP_OKAY) {
|
||||
printf("(%d,%d) Xbits = %d, Ybits = %d Pbits = %d ret = %d\n",
|
||||
i, j, Xbits, Ybits, Pbits, ret);
|
||||
TEST_FAIL_MESSAGE("mp_mul() failed");
|
||||
}
|
||||
elapsedTime1 = esp32elapsedTime();
|
||||
}
|
||||
if(mulmod) {
|
||||
/* Z = X^Y mod M */
|
||||
esp32TimerStart();
|
||||
if(ret == 0 && (ret = mp_mulmod(&x, &y, &p, &z2)) != MP_OKAY) {
|
||||
printf("(%d,%d) Xbits = %d, Ybits = %d Pbits = %d ret = %d\n",
|
||||
i , j, Xbits, Ybits, Pbits, ret);
|
||||
printf("X = %s Y = %s P = %s\n", mp_isodd(&x)==MP_YES?"ODD":"EVEN",
|
||||
mp_isodd(&y)==MP_YES?"ODD":"EVEN",
|
||||
mp_isodd(&p)==MP_YES?"ODD":"EVEN");
|
||||
TEST_FAIL_MESSAGE("mp_mulmod() failed");
|
||||
}
|
||||
elapsedTime2 = esp32elapsedTime();
|
||||
}
|
||||
if(exptmod) {
|
||||
/* Z = X^Y mod M */
|
||||
esp32TimerStart();
|
||||
if(ret == 0 && (ret = mp_exptmod(&x, &y, &p, &z3)) != MP_OKAY) {
|
||||
printf("(%d,%d) Xbits = %d, Ybits = %d Pbits = %d ret = %d\n",
|
||||
i , j, Xbits, Ybits, Pbits, ret);
|
||||
printf("X = %s Y = %s P = %s\n", mp_isodd(&x)==MP_YES?"ODD":"EVEN",
|
||||
mp_isodd(&y)==MP_YES?"ODD":"EVEN",
|
||||
mp_isodd(&p)==MP_YES?"ODD":"EVEN");
|
||||
TEST_FAIL_MESSAGE("mp_exptmod() failed");
|
||||
}
|
||||
elapsedTime3 = esp32elapsedTime()/1000;
|
||||
}
|
||||
|
||||
printf("(%d,%d) Xbits = %d, Ybits = %d Pbits = %d",
|
||||
i , j, Xbits, Ybits, Pbits);
|
||||
if(mul) {
|
||||
printf(" mul = %llu (us)", elapsedTime1);
|
||||
}
|
||||
if(mulmod) {
|
||||
printf(" mulmod = %llu (us)\n", elapsedTime2);
|
||||
}
|
||||
if(exptmod) {
|
||||
printf(" exptmod = %llu (ms)\n", elapsedTime3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mp_clear(&z1);
|
||||
mp_clear(&z2);
|
||||
mp_clear(&z3);
|
||||
mp_clear(&x);
|
||||
mp_clear(&p);
|
||||
mp_clear(&y);
|
||||
|
||||
wc_FreeRng(&rng);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Z = X * Y */
|
||||
int mp_unitest_mul(const char* strZ, const char* strX, const char* strY, int verbose)
|
||||
{
|
||||
int ret = 0;
|
||||
char* buf;
|
||||
char* bufZ;
|
||||
int radixX_size;
|
||||
int radixZ_size;
|
||||
int radixY_size;
|
||||
|
||||
mp_int z, x, y;
|
||||
|
||||
/* set init mp_int */
|
||||
if((ret = mp_init_multi(&z, &x, &y, NULL, NULL, NULL)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_init failed.\n");
|
||||
}
|
||||
/* set big-numbers into mp_inits */
|
||||
if(ret == 0 && mp_read_radix(&x, strX, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strX into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&y, strY, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
/* Z = X * Y */
|
||||
if(ret == 0 && (ret = mp_mul(&x, &y, &z)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_mul() failed\n");
|
||||
}
|
||||
|
||||
mp_radix_size(&z, 16, &radixZ_size);
|
||||
bufZ = (char*)XMALLOC(radixZ_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(bufZ != NULL) {
|
||||
mp_toradix(&z, bufZ, 16);
|
||||
bufZ[radixZ_size] ='\0';
|
||||
}
|
||||
|
||||
if(verbose) {
|
||||
mp_dump("x_value", &x, 1);
|
||||
mp_dump("y_value", &y, 1);
|
||||
mp_dump("z_value", &z, 1);
|
||||
|
||||
mp_radix_size(&x, 16, &radixX_size);
|
||||
mp_radix_size(&y, 16, &radixY_size);
|
||||
radixX_size = max(radixX_size, radixY_size);
|
||||
|
||||
buf = (char*)XMALLOC(radixX_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(buf != NULL) {
|
||||
mp_toradix(&x, buf, 16);
|
||||
buf[radixX_size] ='\0';
|
||||
printf("X : %s ", buf);
|
||||
|
||||
mp_toradix(&y, buf, 16);
|
||||
buf[radixY_size] ='\0';
|
||||
printf("Y : %s ", buf);
|
||||
}
|
||||
if(bufZ != NULL) {
|
||||
printf("Z : %s \n", bufZ);
|
||||
}
|
||||
XFREE(buf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
}
|
||||
|
||||
TEST_ASSERT_EQUAL_STRING_MESSAGE(strZ, bufZ,
|
||||
"mp_mulmod returns an unexpected result.");
|
||||
XFREE(bufZ, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int mp_unitest_mulmod(const char* strZ, const char* strX, const char* strY,
|
||||
const char* strM, int verbose)
|
||||
{
|
||||
int ret = 0;
|
||||
char* buf;
|
||||
char* bufZ;
|
||||
int radixX_size;
|
||||
int radixZ_size;
|
||||
int radixY_size;
|
||||
int radixM_size;
|
||||
|
||||
mp_int z, x, y, m;
|
||||
|
||||
/* set init mp_int */
|
||||
if((ret = mp_init_multi(&z, &x, &y, &m, NULL, NULL)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_init failed.\n");
|
||||
}
|
||||
/* set big-numbers into mp_inits */
|
||||
if(ret == 0 && mp_read_radix(&x, strX, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strX into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&y, strY, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&m, strM, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strM into mp_init");
|
||||
return -1;
|
||||
}
|
||||
/* Z = X^Y mod M */
|
||||
if(ret == 0 && (ret = mp_mulmod(&x, &y, &m, &z)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_mulmod() failed\n");
|
||||
}
|
||||
|
||||
mp_radix_size(&z, 16, &radixZ_size);
|
||||
bufZ = (char*)XMALLOC(radixZ_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(bufZ != NULL) {
|
||||
mp_toradix(&z, bufZ, 16);
|
||||
bufZ[radixZ_size] ='\0';
|
||||
}
|
||||
|
||||
if(verbose) {
|
||||
mp_dump("x_value", &x, 1);
|
||||
mp_dump("y_value", &y, 1);
|
||||
mp_dump("m_value", &m, 1);
|
||||
mp_dump("z_value", &z, 1);
|
||||
|
||||
mp_radix_size(&x, 16, &radixX_size);
|
||||
mp_radix_size(&y, 16, &radixY_size);
|
||||
mp_radix_size(&m, 16, &radixM_size);
|
||||
radixX_size = max(radixX_size, max(radixY_size, radixM_size));
|
||||
|
||||
buf = (char*)XMALLOC(radixX_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(buf != NULL) {
|
||||
mp_toradix(&x, buf, 16);
|
||||
buf[radixX_size] ='\0';
|
||||
printf("X : %s ", buf);
|
||||
|
||||
mp_toradix(&y, buf, 16);
|
||||
buf[radixY_size] ='\0';
|
||||
printf("Y : %s ", buf);
|
||||
|
||||
mp_toradix(&m, buf, 16);
|
||||
buf[radixM_size] ='\0';
|
||||
printf("M : %s ", buf);
|
||||
}
|
||||
if(bufZ != NULL) {
|
||||
printf("Z : %s \n", bufZ);
|
||||
}
|
||||
XFREE(buf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
}
|
||||
|
||||
TEST_ASSERT_EQUAL_STRING_MESSAGE(strZ, bufZ,
|
||||
"mp_mulmod returns an unexpected result.");
|
||||
XFREE(bufZ, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int mp_unitest_exptmod(const char* strZ, const char* strX, const char* strY,
|
||||
const char* strM, int verbose)
|
||||
{
|
||||
int ret = 0;
|
||||
char* buf;
|
||||
char* bufZ;
|
||||
int radixX_size;
|
||||
int radixZ_size;
|
||||
int radixY_size;
|
||||
int radixM_size;
|
||||
|
||||
mp_int z, x, y, m;
|
||||
|
||||
/* set init mp_int */
|
||||
if((ret = mp_init_multi(&z, &x, &y, &m, NULL, NULL)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_init failed.\n");
|
||||
}
|
||||
/* set big-numbers into mp_inits */
|
||||
if(ret == 0 && mp_read_radix(&x, strX, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strX into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&y, strY, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strY into mp_init");
|
||||
return -1;
|
||||
}
|
||||
if(ret == 0 && mp_read_radix(&m, strM, 16) != MP_OKAY) {
|
||||
ESP_LOGE(TAG,"failed to set strM into mp_init");
|
||||
return -1;
|
||||
}
|
||||
/* Z = X^Y mod M */
|
||||
if(ret == 0 && (ret = mp_exptmod(&x, &y, &m, &z)) != MP_OKAY) {
|
||||
TEST_FAIL_MESSAGE("mp_exptmod() failed\n");
|
||||
}
|
||||
|
||||
mp_radix_size(&z, 16, &radixZ_size);
|
||||
bufZ = (char*)XMALLOC(radixZ_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(bufZ != NULL) {
|
||||
mp_toradix(&z, bufZ, 16);
|
||||
bufZ[radixZ_size] ='\0';
|
||||
}
|
||||
|
||||
if(verbose) {
|
||||
mp_dump("x_value", &x, 1);
|
||||
mp_dump("y_value", &y, 1);
|
||||
mp_dump("m_value", &m, 1);
|
||||
mp_dump("z_value", &z, 1);
|
||||
|
||||
mp_radix_size(&x, 16, &radixX_size);
|
||||
mp_radix_size(&y, 16, &radixY_size);
|
||||
mp_radix_size(&m, 16, &radixM_size);
|
||||
radixX_size = max(radixX_size, max(radixY_size, radixM_size));
|
||||
|
||||
buf = (char*)XMALLOC(radixX_size + 1, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if(buf != NULL) {
|
||||
mp_toradix(&x, buf, 16);
|
||||
buf[radixX_size] ='\0';
|
||||
printf("X : %s ", buf);
|
||||
|
||||
mp_toradix(&y, buf, 16);
|
||||
buf[radixY_size] ='\0';
|
||||
printf("Y : %s ", buf);
|
||||
|
||||
mp_toradix(&m, buf, 16);
|
||||
buf[radixM_size] ='\0';
|
||||
printf("M : %s ", buf);
|
||||
}
|
||||
if(bufZ != NULL) {
|
||||
printf("Z : %s \n", bufZ);
|
||||
}
|
||||
XFREE(buf, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
}
|
||||
|
||||
TEST_ASSERT_EQUAL_STRING_MESSAGE(strZ, bufZ,
|
||||
"mp_exptmod returns an unexpected result.");
|
||||
XFREE(bufZ, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl mp exptmod test" , "[wolfssl]")
|
||||
{
|
||||
ESP_LOGI(TAG, "mp test");
|
||||
int verbose = 0;
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("2", "5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("1", "-5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("CE331E6D30A77A57", "1234", "A",
|
||||
"FFFFFFFFFFFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("1000000", "1000", "2", "FFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("1000000", "2", "128",
|
||||
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("14B5A90", "1234", "2", "FFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("1234321", "1111", "2", "FFFFFFFF", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("2", "5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("22", "55", "1", "33", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("222", "555", "1", "333", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("2222", "5555", "1", "3333", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("11", "5555", "1", "33", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("55", "1111", "1", "77", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_exptmod("88", "1111", "2", "BB", verbose));
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl mp mulmod test" , "[wolfssl]")
|
||||
{
|
||||
ESP_LOGI(TAG, "mp test");
|
||||
int verbose = 0;
|
||||
/* Z X Y M */
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("2", "5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("1", "-5", "1", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("2", "-64", "A", "3", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("74C3AC", "123456", "55555", "AAAAA1", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod("73A068", "123456", "55555", "AAAAA3", verbose));
|
||||
|
||||
mp_unitest_mulmod(
|
||||
"10C530243ADE5EA7C557E9A2FF5B4573195665A89CB921F573267B15CD2BCB6467E925235AA752CC2D08B07D31497B497744CA3685A46E76247439826628589DD814AC9EEE9EF8B4B44BEE2DB6065BE3C51B788E4ECFF39FB28C3D8EBE10FC9989D97CDC6624E32EBD222E222A2E93085FC2D05E4EB73375F7FC7B11E9B3024",
|
||||
"A4F780E83C3FAC34878787D4876BA7582E48C7637A26C6E720974FC7416150A3865D44F6D08E3DA38EB4296928C564D9A0008D8A0D63E0B8EF54D14D54FBEAB540E43D2ED6BE54806D9150C1944437CC3D8B2486A1FB932A6691B529E0E2A46524CB0825BA4F4E1B9C24554DB1913169E5373173A3B7CBBF77C3403C8C7AE86A",
|
||||
"6520379E44C1A2C359342010E1038F8C3644D9A47A9346A80C92B48A6986872D74C3BDDB49B2D93C554B588D4A4448614FADBC066CC10F3EB20A2422EA857B7DD0BF60C9CB7D733B12761BD785BCD122D97ECA0A8F1D0F705BC094B66EE5C96712AE3B14B5AA6AD9E50C6A3020BA01DA4FB94E3934527ADCDB3DE51C368B37C2",
|
||||
"BE7070B80418E528FE66D89088E0F1B7C3D0D23EE64B9474B0FFB0F763A5AB7EAFB62BB738161A50BFF1CA873AD5B0DAF8437A15B97EEA2A80D251B035AF07F3F25D243A4B8756481B3C249ADA7080BD3C8B034A0C8371DEE30370A2B760091B5EC73DA06460E3A9068DD3FF42BB0A94272D57420DB02DE0BA182560921192F3",
|
||||
verbose);
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod(
|
||||
"76DBEC4349F316F82C27F59CD87378C83234E28C6E99990A5F9CDCF5A627CD1B2F405FA31AA0EAF7CB433B01D3592E5EF11134E4F8C8126D4DF33F4022A9A2A5B2FA1E6D25B66C628A9BE974136C823CE564E39D1ED099B5B401B8805DE19EFA776C6263265D6E9928714EBD74FFFFD89179BD594DCDC74F5687E311C26B613E539311DC310D36D04D831704524820DE3FC70BC2E43B929F9B4FF40DF4367B241095577C80B6BEB7F2BDE84282EEC9F9FE2A289E4115DB788803392C96A8A86A2FCABCBC6545BABB80F65CE2821C07DA899CEA8D172681F398341FC449D21630DDD0F100E28D351CFF2F2C4E2341B5851632FC6597E00149E98752A5895CDC41",
|
||||
"1678D8E98C4A0BA91E0F8318A15A453A562B36A4EC315B445617CF93CD5287B0284FEE83EF0A5DBEFCEC1801E402D860C050CE24F74D715B57A9E0BE2D8F91FF61F7124983270F06A2E6A00E33A32E26A1A358B1B178C969D37BCB544ED8B3A0AF3BFEA5AB970AE7613ACF0B5C7B5B4AB578C96911752528DA7B3B40189E75C67EC3F6CEA16D5B53C5742FF3C425EB7C3F20D5198CC5B8CCAD0A2D59AD58DD88FB203396341456CF9415CEB3BFB1FB7B2CFE9599E755AB8FD55C5A8B9AD044E6E2DE44FC996297C3C900F76D118572EDF860F507B3C1AC3590B9B47AD85F9D930CEDE1DA1F0AE0DCF69D6DE44304FE22704C51262B9230D00A988438555F7EAF",
|
||||
"3D76E6173983A5E1F98C04CDD512274E7259E7C26355A5BA7F067B343699E01D6FDE6A27E3D73B1BBFE2F32FC4B412F8D16F1F538D09227BEECDC9BFF1D05DCF0D28112209D3077C2F9E88BBE62AA7E61948172142B793E6AA65D11AFFF182F0D758609B113C45EF43934233767F0C2337853750892E4E45413C87D02D051DC4BAD0782724672E9C8AC888A2EFDDC5C3AC24B0BD846F473070C815A784B4E6C1E16F2F4428379E80AC9226CDE94C5141B316EA3573E64487EB460E80E888FF270A9AB06CD17447FE082C3F7B2809EAA20227E9AE1924978793947E67CB664D938E061F1CE4B1F36795ED7166022D8B35F3C671ECB77EA7B0AA481E1E0D575887",
|
||||
"E98A5D15A4D434B959A2DAAF74C8C9032638FA48FC4D306EEA7689CE4FF687DE323A466E38125837220D80AC2DAF2F123E627360666890B26F4717042BCAB726B710C213F97A620A933290420D162EFAD729D79F54E4FC6574F8F6436B4E9E347FCB6B1C1ADE8281BF085D3FC0B6B1A8A59C8170A74E3287151C780EF018FEEB4B372BE9E1F7FA51C658B9D80603EDC00318558B98FEB1F6D03DFA63C03819C700EF4D9960B4BACEE3CED96B2D7694FFFB77184AFE65F00A915C3B229485D02018592EA53303AC1B5F78321125EE7F9621A9D676978D667EB291D0362EA31DBFF185EDC03E60B85A9FAB80E0EA5D5F7556C74D518ED41F34A636F1301F51992F",
|
||||
verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod(
|
||||
"DBEE64C8091CF78EC926AF5D51E06FD92FE0007DA3AF33317D9E131F3CDE711AFB30F8F61E6ACF99EAD21822E4DBC2B31B910D7E357230F255DA6C90EEA36A1E926A7F44CF34FBE544C1DC30B8DF4D5735495FEB1D0E10827222B6AF069BCD3F66120C4A19D8D533E4222FE65FCB323CF993A8DB07B896F0D10AAF94A996EB9B",
|
||||
"1572A17625B1609DB02793AEC41541DB2C9B0301EEF6805804945BA77656B207BF46F90762DEBB3E0057A43A95D09C6C852267E602FD3851D925323F875CB1E743818CBE17814D2DB4921BAA7DA2F8E5EFBD6373FF0E2020206BC89870F0B734AD3E331EB010CC713F09683165EC5BF551B3B70A497178EB926C0726EDDB2E37",
|
||||
"773FB6148DC513087EC9C4EAD4BA0DA49EB36EDE1A7AF88988EF363C11BC83E8306C817C47F34DCAEA560162552E4B89A9BD6F01F67402AAE38466069534A1E2CA65FEA32D4397956C6FD5B438F6F99530FAF89C252BB61451CC2EB35BD6DC1AEC2D095B3F3AD0B84E271FDC2AEEACA9595D076311830BD47480B67D6245BF56",
|
||||
"FF3011C23C6BB4D69E6BC193D148CE802DBEAFF7BAB2D7C3C4536E1502AA61B9EA059B79670BCED9FB988C1D6BF45AA7A05E5418E931447CC752D86DA03ED6142D7B159D1E398796DDA833552A8E32C0C4E5B8CBCD328DAD7BE5C67E4D6FF3A4C5A640BE903A336A24B2808112ACE37B2663CF88B9FF74233752F0C4275D451F",
|
||||
verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mulmod(
|
||||
"7C65",
|
||||
"10000000000",
|
||||
"555555",
|
||||
"12345", verbose));
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl mp mul test" , "[wolfssl]")
|
||||
{
|
||||
ESP_LOGI(TAG, "mp test");
|
||||
int verbose = 0;
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("A", "5", "2", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("-A", "-5", "2", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("A", "-5", "-2", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("6260060", "1234", "5678", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("38E83", "123", "321", verbose));
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul("75CD7FCBBC", "123456", "6789A", verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul(
|
||||
"19C26D7DC91D2123426ECCDB5A0290A9F7D9D01456D266BA549E859373D9D4FE0B4EDAE8763FA94458E4BED29CB7DD6CEF5C52136D2F310D2EABA373C750760EEE3FAE6EA618C60E9A4A0F2C3F3AC87612A0F032866F1CA4DA95CCCC47D2C51F",
|
||||
"77BDC7B4C5616B142B7762251075BA95FB475D570179E730D418A9143D18905F",
|
||||
"371280CB239B46A1BB0C036755ADF3C4474E1696FB2E70AA200225322C50270D44AE8490F24AA22D0FD9AE89EEF9449285FCED5FBC8F424A4A5E82DFEB3B0341",
|
||||
verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul(
|
||||
"33676FE7B625BF0759F7E8932B6B50D5F45E16E1C670AD20F1CDA5DFFA433685937CA8422A9CB916CC8",
|
||||
"165196BA298CD54975DC483C4D21A51EA0A146783CFB41522E76E50C",
|
||||
"24D9D5CA7D9CCC06F5E70F1963E6",
|
||||
verbose));
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_unitest_mul(
|
||||
"65D67946D0D9AB634DD18E5308A1F963C3AAE65F949A81C16C91B5B9DACE18A170ED73E3FC1F01EC8FF7D78EDD29B71FA00D9F5D8FF9116AA93E6F8F09DB306A8C1EEA42DCE9C8C9345B4B84E58CEED1F24A93B14FF47E81A766DF842A25BB941F3F07310C749B47E27C85D544FFE9021AB31AD3484AF40F738A04E9BCC0EFB6B36E56ABE76D982AD7B4D2527526F29B9CFD2A0F6570532C286EA7937354F1A6903480B4D8554E7ED707A08E07CAD5EB713752125163626CF52178574011072D2E536D126C2FF096505515FCA91B5BCEC2D765FC0A1AE90CC8F3C2E18529CF6647E4F732B1D16685189FE24148C752B3AF23F1D8481507CFB89DC1DC70E87B06748D4F1E32B489E1288FC5B02466C8395A59E92862F83F985D021B9C4C42B768BFD3FC81C189F7B88755EB879CF781EFC97C41D0ABB428F7351FA9D62A12A316FE2D2C24D8ECF87132D8476A1B0611793E9EFEE2ADDE1AB7116F69D7744150C770555C54B6BE88ECDD5CF33DF321147061FCB42BEF3D69663695FFD74D42493A",
|
||||
"13DADD9D122C5264497863C0BC2A893CD6C951E94198ABC0DAFF499BE89C6A425548B15F582E714D866563E4ACC81197D5B95BF87BD960D3647E51764F31977BFE2D0A7A7727C27BF7B3134148F126B5F1F0F00730C172C76D768874006C6C86E82F8698621773ED0B91CCA997FBC712D788D384E7831F51A6DD4FB4819D26026",
|
||||
"5210C04ED4FDF80D630BA81DCA6BA05495156D7DDBE1DEE0E057825F7FADACE70EBE4D5F82E51E465514DDC86E5B46DD780C182865A6C9E29F7456E3090229247BFC18094E31B15B1BE3A962601202D5C65979FF96CA64FB93F29110A76500DEB1003B6CEA2BA79CBAD007FA35610C43DE59FD0A22E07CA0A9943F6B101B4C9663AF0CADD26014586933AC536A917F4A62A31BD5EE8BFD452F63E4ED4D656DDC22D2413B44D02029887F7DC31200FD793C83F1927F306D00535EB1E0E8BEDA6486A41C509E8DB4369BC4D0C36767AA0127EC3E8C6EF4B5C07F2AD9FB51910B771F112A10F21128E26428B74F69586C486B04EEB64E84A36D4BD03C315B90CE8F",
|
||||
verbose));
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl mp mul performance test" , "[wolfssl]")
|
||||
{
|
||||
int mul = 0, mulmod = 0, exptmod = 0;
|
||||
|
||||
TEST_ASSERT_EQUAL(0, mp_performance_check(mul, mulmod, exptmod));
|
||||
}
|
||||
#endif/* !NO_RSA || HAVE_ECC */
|
||||
|
||||
TEST_CASE("wolfssl aes test" , "[wolfssl]")
|
||||
{
|
||||
ESP_LOGI(TAG, "aes test");
|
||||
@@ -158,10 +680,10 @@ TEST_CASE("wolfssl sha crypt-test", "[wolfssl]")
|
||||
#ifndef NO_SHA
|
||||
static void tskSha_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskSha_Test");
|
||||
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskSha_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = sha_test();
|
||||
if(ret != 0) {
|
||||
@@ -171,6 +693,7 @@ static void tskSha_Test(void *pvParam)
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskSha_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
@@ -179,9 +702,10 @@ static void tskSha_Test(void *pvParam)
|
||||
#ifndef NO_SHA256
|
||||
static void tskSha256_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskSha256_Test");
|
||||
int ret;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskSha256_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = sha256_test();
|
||||
if(ret != 0) {
|
||||
@@ -191,6 +715,7 @@ static void tskSha256_Test(void *pvParam)
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskSha256_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
@@ -199,9 +724,10 @@ static void tskSha256_Test(void *pvParam)
|
||||
#ifdef WOLFSSL_SHA384
|
||||
static void tskSha384_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskSha384_Test");
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskSha384_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = sha384_test();
|
||||
if(ret != 0) {
|
||||
@@ -211,6 +737,7 @@ static void tskSha384_Test(void *pvParam)
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskSha384_Test");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
@@ -219,10 +746,10 @@ static void tskSha384_Test(void *pvParam)
|
||||
#ifdef WOLFSSL_SHA512
|
||||
static void tskSha512_Test(void *pvParam)
|
||||
{
|
||||
ESP_LOGI(TAG, "enter tskSha512_Test");
|
||||
|
||||
int ret = 0;
|
||||
|
||||
ESP_LOGI(TAG, "enter tskSha512_Test");
|
||||
|
||||
while(exit_loop==false) {
|
||||
ret = sha512_test();
|
||||
if(ret != 0) {
|
||||
@@ -230,17 +757,18 @@ static void tskSha512_Test(void *pvParam)
|
||||
TEST_FAIL_MESSAGE("tskSha512_Test() failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
ESP_LOGI(TAG, "leave tskSha512_test()");
|
||||
|
||||
xSemaphoreGive(exit_semaph);
|
||||
vTaskDelete(NULL);
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST_CASE("wolfssl sha multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
#ifndef NO_SHA
|
||||
num++;
|
||||
#endif
|
||||
@@ -271,21 +799,24 @@ TEST_CASE("wolfssl sha multi-thread test ", "[wolfssl]")
|
||||
xTaskCreate(tskSha512_Test, "sha512_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
|
||||
ESP_LOGI(TAG, "Waiting for 10s ...");
|
||||
vTaskDelay(10000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
ESP_LOGI(TAG, "Waiting for 10s ...");
|
||||
vTaskDelay(10000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
|
||||
for(i = 0;i < num;i++) {
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
}
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
|
||||
for(int i=0;i<num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
}
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl aes multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
|
||||
#ifndef NO_AES
|
||||
num++;
|
||||
num++;
|
||||
@@ -311,21 +842,24 @@ TEST_CASE("wolfssl aes multi-thread test ", "[wolfssl]")
|
||||
xTaskCreate(tskAes256_Test, "Aes256_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
|
||||
ESP_LOGI(TAG, "Waiting for 10s ...");
|
||||
vTaskDelay(10000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
ESP_LOGI(TAG, "Waiting for 10s ...");
|
||||
vTaskDelay(10000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
|
||||
for(int i=0;i<num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
for(i = 0;i < num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
}
|
||||
}
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl aes sha sha256 multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
|
||||
#ifndef NO_AES
|
||||
num++;
|
||||
@@ -414,7 +948,7 @@ TEST_CASE("wolfssl aes sha sha256 multi-thread test ", "[wolfssl]")
|
||||
vTaskDelay(15000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
|
||||
for(int i=0;i<num;i++){
|
||||
for(i = 0;i < num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
@@ -425,6 +959,7 @@ TEST_CASE("wolfssl aes sha sha256 multi-thread test ", "[wolfssl]")
|
||||
TEST_CASE("wolfssl aes sha384 sha512 multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
|
||||
#ifndef NO_AES
|
||||
num++;
|
||||
@@ -515,7 +1050,88 @@ TEST_CASE("wolfssl aes sha384 sha512 multi-thread test ", "[wolfssl]")
|
||||
exit_loop = true;
|
||||
|
||||
|
||||
for(int i=0;i<num;i++){
|
||||
for(i = 0;i < num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
}
|
||||
vSemaphoreDelete(exit_semaph);
|
||||
}
|
||||
|
||||
TEST_CASE("wolfssl aes sha256 rsa multi-thread test ", "[wolfssl]")
|
||||
{
|
||||
int num = 0;
|
||||
int i;
|
||||
|
||||
#ifndef NO_AES
|
||||
num++;
|
||||
num++;
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
num++;
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
num++;
|
||||
#endif
|
||||
|
||||
exit_loop = false;
|
||||
|
||||
#ifndef CONFIG_FREERTOS_UNICORE
|
||||
num *= 2;
|
||||
printf("num=%d\n", num);
|
||||
|
||||
exit_semaph = xSemaphoreCreateCounting(num, 0);
|
||||
|
||||
#ifndef NO_AES
|
||||
if(xTaskCreatePinnedToCore(tskAes_Test, "Aes_test", SHA_STACK_SIZE, NULL, 3, NULL, 0)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -1 \n");
|
||||
if(xTaskCreatePinnedToCore(tskAes_Test, "Aes_test", SHA_STACK_SIZE, NULL, 3, NULL, 1)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -2 \n");
|
||||
if(xTaskCreatePinnedToCore(tskAesGcm_Test, "AesGcm_test", SHA_STACK_SIZE, NULL, 3, NULL, 0)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -3 \n");
|
||||
if(xTaskCreatePinnedToCore(tskAesGcm_Test, "AesGcm_test", SHA_STACK_SIZE, NULL, 3, NULL, 1)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -4 \n");
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
if(xTaskCreatePinnedToCore(tskSha256_Test, "sha256_test", SHA_STACK_SIZE, NULL, 3, NULL, 0)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -5 \n");
|
||||
if(xTaskCreatePinnedToCore(tskSha256_Test, "sha256_test", SHA_STACK_SIZE, NULL, 3, NULL, 1)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -6 \n");
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
if(xTaskCreatePinnedToCore(tskRsa_Test, "rsa_test", SHA_STACK_SIZE, NULL, 3, NULL, 0)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -7 \n");
|
||||
if(xTaskCreatePinnedToCore(tskRsa_Test, "rsa_test", SHA_STACK_SIZE, NULL, 3, NULL, 1)!=pdPASS)
|
||||
ESP_LOGE(TAG, "failed to create task -8 \n");
|
||||
#endif
|
||||
#else
|
||||
|
||||
exit_semaph = xSemaphoreCreateCounting(num, 0);
|
||||
|
||||
#ifndef NO_AES
|
||||
xTaskCreate(tskAes_Test, "Aes_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
xTaskCreate(tskAesGcm_Test, "AesGcm_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
xTaskCreate(tskSha256_Test, "sha256_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
xTaskCreate(tskRsa_Test, "rsa_test", SHA_STACK_SIZE, NULL, 3, NULL);
|
||||
#endif
|
||||
#endif /* CONFIG_FREERTOS_UNICORE */
|
||||
|
||||
ESP_LOGI(TAG, "Waiting for 15s ...");
|
||||
vTaskDelay(15000/portTICK_PERIOD_MS);
|
||||
exit_loop = true;
|
||||
|
||||
/* wait until rsa test finishes */
|
||||
while(rsa_elapsedTime<=0){ vTaskDelay(1); }
|
||||
|
||||
ESP_LOGI(TAG, "Waiting another %llu s. rsa test would take more time to finish.",
|
||||
(rsa_elapsedTime+3000)/portTICK_PERIOD_MS);
|
||||
vTaskDelay((rsa_elapsedTime+3000)/portTICK_PERIOD_MS);
|
||||
|
||||
for(i = 0;i < num;i++){
|
||||
if(!xSemaphoreTake(exit_semaph, 2000/portTICK_PERIOD_MS)) {
|
||||
TEST_FAIL_MESSAGE("exit semaphore not released by test task");
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#define HAVE_AEAD
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
|
||||
@@ -54,6 +53,16 @@
|
||||
/* #define CUSTOM_SLOT_ALLOCATION */
|
||||
#endif
|
||||
|
||||
/* rsa primitive specific definition */
|
||||
#if defined(WOLFSSL_ESPWROOM32) || defined(WOLFSSL_ESPWROOM32SE)
|
||||
/* Define USE_FAST_MATH and SMALL_STACK */
|
||||
#define ESP32_USE_RSA_PRIMITIVE
|
||||
/* threshold for performance adjustment for hw primitive use */
|
||||
/* X bits of G^X mod P greater than */
|
||||
#define EPS_RSA_EXPT_XBTIS 36
|
||||
/* X and Y of X * Y mod P greater than */
|
||||
#define ESP_RSA_MULM_BITS 2000
|
||||
#endif
|
||||
|
||||
/* debug options */
|
||||
/* #define DEBUG_WOLFSSL */
|
||||
@@ -70,3 +79,4 @@
|
||||
/* #define NO_ESP32WROOM32_CRYPT */
|
||||
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_HASH*/
|
||||
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_AES */
|
||||
/* #define NO_WOLFSSL_ESP32WROOM32_CRYPT_RSA_PRI */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* armtarget.c
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* benchmark_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* test_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* tls_client.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolf_main.c
|
||||
*
|
||||
* Copyright (C) 2006-2018 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* benchmark-main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* current-time.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* minimum-startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* test-main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define NO_WOLFSSL_DIR
|
||||
#define WOLFSSL_NO_CURRDIR
|
||||
#define NO_WOLF_C99
|
||||
#define NO_MULTIBYTE_PRINT
|
||||
@@ -31,4 +31,4 @@
|
||||
#define HAVE_ECC
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVE25519_SMALL
|
||||
#define HAVE_ED25519
|
||||
#define HAVE_ED25519
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
CyaSSL IAR Project Files
|
||||
|
||||
This directory contains project files for IAR EWARM IDE. These
|
||||
projects have been set up to generic ARM Cortex-M MPUs.
|
||||
In order to generate project for specific target MPU, take following steps.
|
||||
CyaSSL IAR Project Files
|
||||
|
||||
This directory contains project files for IAR EWARM IDE. These
|
||||
projects have been set up to generic ARM Cortex-M MPUs.
|
||||
In order to generate project for specific target MPU, take following steps.
|
||||
|
||||
** Note ** regarding Segger Embedded Operating System (embOS)
|
||||
The directory embOS contains projects specifically for embOS on IAR-EWARM.
|
||||
@@ -10,20 +10,20 @@ In order to generate project for specific target MPU, take following steps.
|
||||
uses embOS
|
||||
|
||||
|
||||
Included Project Files
|
||||
-----------------------
|
||||
1. Workspace: wolfssl.eww
|
||||
The workspace includes wolfSSL-Lib library and wolfCrypt-test, wolfCrypt-benchmark
|
||||
Included Project Files
|
||||
-----------------------
|
||||
1. Workspace: wolfssl.eww
|
||||
The workspace includes wolfSSL-Lib library and wolfCrypt-test, wolfCrypt-benchmark
|
||||
executable projects.
|
||||
|
||||
2. wolfSSL-Lib Project: lib/wolfSSL-lib.ewp
|
||||
generates full set library of wolfCrypt and wolfSSL functions.
|
||||
generates full set library of wolfCrypt and wolfSSL functions.
|
||||
|
||||
3. Test suites Project: test/wolfCrypt-test.ewp
|
||||
generates test.out test suites executable
|
||||
3. Test suites Project: test/wolfCrypt-test.ewp
|
||||
generates test.out test suites executable
|
||||
|
||||
4. Benchmark Project: benchmark/wolfCrypt-benchmark.ewp
|
||||
generates benchmark.out benchmark executable
|
||||
4. Benchmark Project: benchmark/wolfCrypt-benchmark.ewp
|
||||
generates benchmark.out benchmark executable
|
||||
|
||||
Set Up Steps
|
||||
------------
|
||||
@@ -33,22 +33,22 @@ Set Up Steps
|
||||
You can build and download the to the simulator.
|
||||
Open Terminal I/O window, by "view"->"Terminal I/O", and start execution.
|
||||
|
||||
1. Project option settings
|
||||
For each project,...
|
||||
General Options: Choose appropriate "Target" options
|
||||
1. Project option settings
|
||||
For each project,...
|
||||
General Options: Choose appropriate "Target" options
|
||||
|
||||
2. For executable projects,...
|
||||
2. For executable projects,...
|
||||
Add "SystemInit" and "startup" for your MPU
|
||||
Debugger: Choose your debug "Driver"
|
||||
Debugger: Choose your debug "Driver"
|
||||
|
||||
3. For benchmark project,...
|
||||
3. For benchmark project,...
|
||||
Choose option for current_time function.
|
||||
Or write own "current_time" benchmark timer with WOLFSSL_USER_CURRTIME option.
|
||||
|
||||
4. Build and download
|
||||
Go to "Project->Make" and "Download and Debug" in Menu bar for EWARM build and download.
|
||||
4. Build and download
|
||||
Go to "Project->Make" and "Download and Debug" in Menu bar for EWARM build and download.
|
||||
|
||||
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
Support
|
||||
-------
|
||||
Please send questions or comments to support@wolfssl.com
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
|
||||
To use, install the NXP LPCXpresso IDE and import the projects in a new workspace.
|
||||
|
||||
1. Run LPCXpresso and choose a workspace location.
|
||||
2. Right click in the project exporer window and choose Inport.
|
||||
3. Under General choose "Existing Projects into Workspace".
|
||||
4. Under "Select root directory" click browse and select the wolfSSL root.
|
||||
5. Check the "Search for nested projects" box.
|
||||
5. Make sure "wolfssl" and "wolfssl_example" are checked under "Projects:".
|
||||
6. Click finish.
|
||||
7. Download the board and chip LPCOpen package for your platform.
|
||||
8. Import the projects. For example "lpc_board_nxp_lpcxpresso_1837" and "lpc_chip_18xx" are the ones for the LPC18S37.
|
||||
1. Change names of `LPCExpresso.project` and `LPCExpresso.cproject` files to `.project` and `.cproject`
|
||||
2. Run LPCXpresso and choose a workspace location.
|
||||
3. Right click in the project explorer window and choose Import.
|
||||
4. Under General choose "Existing Projects into Workspace".
|
||||
5. Under "Select root directory" click browse and select the wolfSSL root.
|
||||
6. Check the "Search for nested projects" box.
|
||||
7. Make sure "wolfssl" and "wolfssl_example" are checked under "Projects:".
|
||||
8. Click finish.
|
||||
9. Download the board and chip LPCOpen package for your platform.
|
||||
10. Import the projects. For example "lpc_board_nxp_lpcxpresso_1837" and "lpc_chip_18xx" are the ones for the LPC18S37.
|
||||
|
||||
To setup this example to work with different baords/chips you will need to locate the LPCOpen sources for LPCXpresso on the NXP website and import the board and chip projects. Then you will need to update the "wolfssl_example" project properties to reference these projects (C/C++ General -> Paths and Symbols -> References). See the [LPCOpen v2.xx LPCXpresso quickstart guide for all platforms](https://www.lpcware.com/content/project/lpcopen-platform-nxp-lpc-microcontrollers/lpcopen-v200-quickstart-guides/lpcopen-1) for additional information.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* lpc_18xx_port.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* lpc_18xx_startup.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* certs_test.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-BEREFOOT.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config-RTX-TCP-FS.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* config.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*shell.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-dummy.c.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_RL.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_RL.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2xx.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -59,8 +59,8 @@
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 15
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
@@ -92,6 +92,8 @@
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
@@ -151,13 +153,13 @@
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
@@ -237,7 +239,7 @@
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
@@ -376,7 +378,7 @@
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
@@ -394,7 +396,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
@@ -412,7 +414,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
@@ -462,7 +464,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
@@ -476,10 +478,11 @@
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* wolfssl_KEIL_ARM.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
wolfCrypt Benchmark
|
||||
|
||||
Use Configuration Wizard tab
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
user_settings.h for wolfCrypt options
|
||||
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<nTsel>1</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -112,9 +112,14 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
<pMon>BIN\ULP2CM3.DLL</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO19 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
@@ -138,7 +143,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -155,8 +160,13 @@
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.7.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd</Filename>
|
||||
<Type>ARM.CMSIS.5.3.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
@@ -197,6 +207,10 @@
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -176,7 +176,7 @@
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<mOS>0</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
@@ -446,6 +446,12 @@
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" exclusive="1">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<targetInfos>
|
||||
@@ -460,8 +466,14 @@
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX5" Cvendor="ARM" Cversion="5.3.0" condition="RTOS RTX5">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
@@ -496,14 +508,14 @@
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
@@ -532,128 +544,128 @@
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.4.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.6.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.6" condition="STM32F756_777_779_750 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.6" condition="STM32F756_777_779_750 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="NOR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="NOR" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7x5_7x6_7x7_7x9_750 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Benchmark" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Benchmark" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
@@ -661,57 +673,71 @@
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<instance index="0" removed="1">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS2\RTX\Config\RTX_Config.c" version="5.1.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.c</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\RTOS2\RTX\Config\RTX_Config.h" version="5.3.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.h</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
@@ -766,8 +792,8 @@
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="wolfSSL-Benchmark"/>
|
||||
</targetInfos>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -18,7 +18,8 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#define WOLFSSL_MDK5_COMPLv5
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
@@ -58,8 +59,8 @@
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 15
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
@@ -91,6 +92,8 @@
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
@@ -150,13 +153,13 @@
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
@@ -236,7 +239,7 @@
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
@@ -375,7 +378,7 @@
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
@@ -393,7 +396,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
@@ -411,7 +414,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
@@ -461,7 +464,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
@@ -475,10 +478,11 @@
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -30,8 +30,16 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
#include "cmsis_os.h"
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
#include "cmsis_os2.h"
|
||||
#endif
|
||||
|
||||
/* Dummy definition for test RTC */
|
||||
#define RTC_YEAR 2018
|
||||
#define RTC_YEAR 2019
|
||||
#define RTC_MONTH 1
|
||||
#define RTC_DAY 1
|
||||
#define RTC_MONTH 1
|
||||
#define RTC_DAY 1
|
||||
|
||||
@@ -56,32 +64,30 @@ static void CPU_CACHE_Enable (void) {
|
||||
|
||||
}
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
#if defined(WOLFSSL_CMSIS_RTOS) || defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
uint32_t HAL_GetTick(void)
|
||||
{
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return os_time;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return osKernelGetTickCount();
|
||||
#endif
|
||||
}
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
if (reset)
|
||||
return 0;
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return (double)os_time / 1000.0;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return (double)osKernelGetTickCount() / 1000.0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#else
|
||||
@@ -103,6 +109,17 @@ double current_time(int reset)
|
||||
}
|
||||
#endif
|
||||
|
||||
static time_t epochTime;
|
||||
time_t time(time_t *t)
|
||||
{
|
||||
return epochTime;
|
||||
}
|
||||
|
||||
void setTime(time_t t)
|
||||
{
|
||||
epochTime = t;
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
wolfCrypt test
|
||||
|
||||
Use Configuration Wizard tab
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
user_settings.h for wolfCrypt options
|
||||
|
||||
For further options, details, see wolfSSL User Manual.
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<nTsel>1</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -112,7 +112,7 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile>.\STM32_SWO.ini</tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
<pMon>BIN\ULP2CM3.DLL</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
@@ -128,7 +128,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP0940001 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIE1 -TIP1 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
<Name>-UP1135060 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP9 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -143,7 +143,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -160,13 +160,18 @@
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\ARM_Compiler\1.3.3\EventRecorder.scvd</Filename>
|
||||
<Type>Keil.ARM_Compiler.1.3.3</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\ARM_Compiler\1.3.2\EventRecorder.scvd</Filename>
|
||||
<Type>Keil.ARM_Compiler.1.3.2</Type>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.7.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd</Filename>
|
||||
<Type>ARM.CMSIS.5.3.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
@@ -207,6 +212,10 @@
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -176,7 +176,7 @@
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<mOS>0</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
@@ -456,6 +456,12 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" exclusive="1">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.1.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F4xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="2.0.0"/>
|
||||
<targetInfos>
|
||||
@@ -470,8 +476,14 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX5" Cvendor="ARM" Cversion="5.3.0" condition="RTOS RTX5">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -512,14 +524,14 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O and Event Recorder">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O and Event Recorder">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.5.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -644,20 +656,20 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Test" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Test" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -665,9 +677,23 @@
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<instance index="0" removed="1">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS2\RTX\Config\RTX_Config.c" version="5.1.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.c</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\RTOS2\RTX\Config\RTX_Config.h" version="5.3.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.h</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -680,50 +706,50 @@
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O and Event Recorder"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN Debug" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O and Event Recorder"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
@@ -742,8 +768,8 @@
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="CryptTest"/>
|
||||
</targetInfos>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -59,8 +59,8 @@
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 15
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
@@ -92,6 +92,8 @@
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
@@ -151,13 +153,13 @@
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 1
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 1
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
@@ -237,7 +239,7 @@
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 1
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
@@ -376,7 +378,7 @@
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 1
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
@@ -394,7 +396,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 1
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
@@ -412,7 +414,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 1
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
@@ -462,7 +464,7 @@
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 0
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
@@ -476,10 +478,11 @@
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 0
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -28,8 +28,13 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
#include "cmsis_os.h"
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
#include "cmsis_os2.h"
|
||||
#endif
|
||||
/* Dummy definition for test RTC */
|
||||
#define RTC_YEAR 2018
|
||||
#define RTC_YEAR 2019
|
||||
#define RTC_MONTH 1
|
||||
#define RTC_DAY 1
|
||||
|
||||
@@ -55,14 +60,19 @@ static void CPU_CACHE_Enable (void) {
|
||||
}
|
||||
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
#endif
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return os_time;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return osKernelGetTickCount();
|
||||
#endif
|
||||
}
|
||||
|
||||
static time_t epochTime;
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
@@ -70,36 +80,6 @@ time_t time(time_t *t){
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
wolfSSL example: echo Client
|
||||
|
||||
Use Configuration Wizard tab
|
||||
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
RTE_Device.h: Check ETH (Ethernet Interface)
|
||||
main.c for remote IP address, port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -763,7 +763,7 @@
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.74.0">
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
@@ -771,50 +771,50 @@
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -822,7 +822,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config.c" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -830,7 +830,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_BSD.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -838,7 +838,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_DNS_Client.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -846,7 +846,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_ETH.h" version="5.1.0">
|
||||
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -854,7 +854,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_TCP.h" version="5.0.1">
|
||||
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -862,7 +862,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_UDP.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
@@ -881,8 +881,8 @@
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoClient"/>
|
||||
</targetInfos>
|
||||
|
||||
517
IDE/MDK5-ARM/Projects/EchoClient/RTE/wolfSSL/user_settings.h
Normal file
517
IDE/MDK5-ARM/Projects/EchoClient/RTE/wolfSSL/user_settings.h
Normal file
@@ -0,0 +1,517 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WRITEV
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
|
||||
#define WOLFSSL_GMTIME
|
||||
#define NO_MULTIBYTE_PRINT
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
|
||||
// <h>Common options
|
||||
// <o> MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx
|
||||
#define MDK_CONF_MPU 3
|
||||
#if MDK_CONF_MPU == 0
|
||||
|
||||
#elif MDK_CONF_MPU == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F2xx
|
||||
#elif MDK_CONF_MPU == 2
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F4xx
|
||||
#elif MDK_CONF_MPU == 3
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F7xx
|
||||
#endif
|
||||
|
||||
// <o> Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
#define FREERTOS
|
||||
#elif MDK_CONF_THREAD == 3
|
||||
#define WOLFSSL_SAFERTOS
|
||||
#elif MDK_CONF_THREAD == 4
|
||||
#define USE_WINDOWS_API
|
||||
#elif MDK_CONF_THREAD == 5
|
||||
#define WOLFSSL_PTHREADS
|
||||
#elif MDK_CONF_THREAD == 6
|
||||
#define THREADX
|
||||
#define NETX
|
||||
#elif MDK_CONF_THREAD == 7
|
||||
#define MICRIUM
|
||||
#elif MDK_CONF_THREAD == 8
|
||||
#define EBSNET
|
||||
#elif MDK_CONF_THREAD == 9
|
||||
#define FREESCALE_MQX
|
||||
#define FREESCALE_KSDK_MQX
|
||||
#elif MDK_CONF_THREAD == 10
|
||||
#define WOLFSSL_TIRTOS
|
||||
#elif MDK_CONF_THREAD == 11
|
||||
#define WOLFSSL_uITRON4
|
||||
#elif MDK_CONF_THREAD == 12
|
||||
#define WOLFSSL_uTKERNEL2
|
||||
#elif MDK_CONF_THREAD == 13
|
||||
#define WOLFSSL_FROSTED
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
|
||||
// <e>File System
|
||||
#define MDK_CONF_FILESYSTEM 1
|
||||
#if MDK_CONF_FILESYSTEM == 0
|
||||
#define NO_FILESYSTEM
|
||||
#else
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <o> Network<0=>None <1=>RLnet <2=>User I/O
|
||||
#define MDK_CONF_NETWORK 1
|
||||
#if MDK_CONF_NETWORK == 0
|
||||
#elif MDK_CONF_NETWORK == 1
|
||||
#define WOLFSSL_KEIL_TCP_NET
|
||||
#elif MDK_CONF_NETWORK == 2
|
||||
#define WOLFSSL_USER_IO
|
||||
#endif
|
||||
|
||||
// <h>Debug options
|
||||
|
||||
// <e>Debug Message
|
||||
#define MDK_CONF_DebugMessage 0
|
||||
#if MDK_CONF_DebugMessage == 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Check malloc
|
||||
#define MDK_CONF_CheckMalloc 1
|
||||
#if MDK_CONF_CheckMalloc == 1
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
//</h>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hash DRBG
|
||||
#define MDK_CONF_HASHDRBG 1
|
||||
#if MDK_CONF_HASHDRBG == 1
|
||||
#define HAVE_HASHDRBG
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CURVE25519 SMALL
|
||||
#define MDK_CONF_CURVE25519_SMALL 0
|
||||
#if MDK_CONF_CURVE25519_SMALL == 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519 SMALL
|
||||
#define MDK_CONF_ED25519_SMALL 0
|
||||
#if MDK_CONF_ED25519_SMALL == 1
|
||||
#define ED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <e>Random Seed, for TEST Only
|
||||
#define MDK_CONF_RNDSEED 1
|
||||
#if MDK_CONF_RNDSEED == 1
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
// <h>Cert/Key Generation
|
||||
// <e>CertGen
|
||||
#define MDK_CONF_CERT_GEN 0
|
||||
#if MDK_CONF_CERT_GEN == 1
|
||||
#define WOLFSSL_CERT_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// <e>KeyGen
|
||||
#define MDK_CONF_KEY_GEN 0
|
||||
#if MDK_CONF_KEY_GEN == 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// </h>
|
||||
|
||||
|
||||
/**** wolfSSL Configuration ****/
|
||||
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>Include Old TLS
|
||||
#define MDK_CONF_NO_OLDTLS 0
|
||||
#if MDK_CONF_NO_OLDTLS == 0
|
||||
#define NO_OLD_TLS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CRL
|
||||
#define MDK_CONF_CRL 0
|
||||
#if MDK_CONF_CRL == 1
|
||||
#define HAVE_CRL
|
||||
#define WOLFSSL_DER_LOAD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OCSP
|
||||
#define MDK_CONF_OCSP 0
|
||||
#if MDK_CONF_OCSP == 1
|
||||
#define HAVE_OCSP
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OpenSSL Extra
|
||||
#define MDK_CONF_OPENSSL_EXTRA 0
|
||||
#if MDK_CONF_OPENSSL_EXTRA == 1
|
||||
#define OPENSSL_EXTRA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
wolfSSL example: echo Server
|
||||
|
||||
Use Configuration Wizard tab
|
||||
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
RTE_Device.h: Check ETH (Ethernet Interface)
|
||||
main.c for server port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
<TargetName>echoServer</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060422::V5.06 update 4 (build 422)::ARMCC</pCCUsed>
|
||||
<pCCUsed>5060528::V5.06 update 5 (build 528)::ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -763,7 +763,7 @@
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.74.0">
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
@@ -771,50 +771,50 @@
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
@@ -822,7 +822,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config.c" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
@@ -830,15 +830,15 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_BSD.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_DNS_Client.h" version="0.0.0">
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_DNS_Client.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
@@ -852,7 +852,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_ETH.h" version="5.1.0">
|
||||
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
@@ -860,7 +860,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_TCP.h" version="5.0.1">
|
||||
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
@@ -868,7 +868,7 @@
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_UDP.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
@@ -887,8 +887,8 @@
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="echoServer"/>
|
||||
</targetInfos>
|
||||
|
||||
519
IDE/MDK5-ARM/Projects/EchoServer/RTE/wolfSSL/user_settings.h
Normal file
519
IDE/MDK5-ARM/Projects/EchoServer/RTE/wolfSSL/user_settings.h
Normal file
@@ -0,0 +1,519 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WRITEV
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
|
||||
#define WOLFSSL_GMTIME
|
||||
#define NO_MULTIBYTE_PRINT
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
|
||||
// <h>Common options
|
||||
// <o> MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx
|
||||
#define MDK_CONF_MPU 3
|
||||
#if MDK_CONF_MPU == 0
|
||||
|
||||
#elif MDK_CONF_MPU == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F2xx
|
||||
#elif MDK_CONF_MPU == 2
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F4xx
|
||||
#elif MDK_CONF_MPU == 3
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F7xx
|
||||
#endif
|
||||
|
||||
// <o> Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 14
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
#define FREERTOS
|
||||
#elif MDK_CONF_THREAD == 3
|
||||
#define WOLFSSL_SAFERTOS
|
||||
#elif MDK_CONF_THREAD == 4
|
||||
#define USE_WINDOWS_API
|
||||
#elif MDK_CONF_THREAD == 5
|
||||
#define WOLFSSL_PTHREADS
|
||||
#elif MDK_CONF_THREAD == 6
|
||||
#define THREADX
|
||||
#define NETX
|
||||
#elif MDK_CONF_THREAD == 7
|
||||
#define MICRIUM
|
||||
#elif MDK_CONF_THREAD == 8
|
||||
#define EBSNET
|
||||
#elif MDK_CONF_THREAD == 9
|
||||
#define FREESCALE_MQX
|
||||
#define FREESCALE_KSDK_MQX
|
||||
#elif MDK_CONF_THREAD == 10
|
||||
#define WOLFSSL_TIRTOS
|
||||
#elif MDK_CONF_THREAD == 11
|
||||
#define WOLFSSL_uITRON4
|
||||
#elif MDK_CONF_THREAD == 12
|
||||
#define WOLFSSL_uTKERNEL2
|
||||
#elif MDK_CONF_THREAD == 13
|
||||
#define WOLFSSL_FROSTED
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
|
||||
// <e>File System
|
||||
#define MDK_CONF_FILESYSTEM 1
|
||||
#if MDK_CONF_FILESYSTEM == 0
|
||||
#define NO_FILESYSTEM
|
||||
#else
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <o> Network<0=>None <1=>RLnet <2=>User I/O
|
||||
#define MDK_CONF_NETWORK 1
|
||||
#if MDK_CONF_NETWORK == 0
|
||||
#elif MDK_CONF_NETWORK == 1
|
||||
#define WOLFSSL_KEIL_TCP_NET
|
||||
#elif MDK_CONF_NETWORK == 2
|
||||
#define WOLFSSL_USER_IO
|
||||
#endif
|
||||
|
||||
// <h>Debug options
|
||||
|
||||
// <e>Debug Message
|
||||
#define MDK_CONF_DebugMessage 0
|
||||
#if MDK_CONF_DebugMessage == 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Check malloc
|
||||
#define MDK_CONF_CheckMalloc 1
|
||||
#if MDK_CONF_CheckMalloc == 1
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
//</h>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hash DRBG
|
||||
#define MDK_CONF_HASHDRBG 1
|
||||
#if MDK_CONF_HASHDRBG == 1
|
||||
#define HAVE_HASHDRBG
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CURVE25519 SMALL
|
||||
#define MDK_CONF_CURVE25519_SMALL 0
|
||||
#if MDK_CONF_CURVE25519_SMALL == 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519 SMALL
|
||||
#define MDK_CONF_ED25519_SMALL 0
|
||||
#if MDK_CONF_ED25519_SMALL == 1
|
||||
#define ED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <e>Random Seed, for TEST Only
|
||||
#define MDK_CONF_RNDSEED 1
|
||||
#if MDK_CONF_RNDSEED == 1
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
// <h>Cert/Key Generation
|
||||
// <e>CertGen
|
||||
#define MDK_CONF_CERT_GEN 0
|
||||
#if MDK_CONF_CERT_GEN == 1
|
||||
#define WOLFSSL_CERT_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// <e>KeyGen
|
||||
#define MDK_CONF_KEY_GEN 0
|
||||
#if MDK_CONF_KEY_GEN == 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// </h>
|
||||
|
||||
|
||||
/**** wolfSSL Configuration ****/
|
||||
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>Include Old TLS
|
||||
#define MDK_CONF_NO_OLDTLS 0
|
||||
#if MDK_CONF_NO_OLDTLS == 0
|
||||
#define NO_OLD_TLS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CRL
|
||||
#define MDK_CONF_CRL 0
|
||||
#if MDK_CONF_CRL == 1
|
||||
#define HAVE_CRL
|
||||
#define WOLFSSL_DER_LOAD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OCSP
|
||||
#define MDK_CONF_OCSP 0
|
||||
#if MDK_CONF_OCSP == 1
|
||||
#define HAVE_OCSP
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OpenSSL Extra
|
||||
#define MDK_CONF_OPENSSL_EXTRA 0
|
||||
#if MDK_CONF_OPENSSL_EXTRA == 1
|
||||
#define OPENSSL_EXTRA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
wolfSSL example: TLS Client
|
||||
|
||||
Use Configuration Wizard tab
|
||||
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
RTE_Device.h: Check ETH (Ethernet Interface)
|
||||
main.c for remote IP address, port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
|
||||
519
IDE/MDK5-ARM/Projects/SimpleClient/RTE/wolfSSL/user_settings.h
Normal file
519
IDE/MDK5-ARM/Projects/SimpleClient/RTE/wolfSSL/user_settings.h
Normal file
@@ -0,0 +1,519 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WRITEV
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
|
||||
#define WOLFSSL_GMTIME
|
||||
#define NO_MULTIBYTE_PRINT
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
|
||||
// <h>Common options
|
||||
// <o> MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx
|
||||
#define MDK_CONF_MPU 3
|
||||
#if MDK_CONF_MPU == 0
|
||||
|
||||
#elif MDK_CONF_MPU == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F2xx
|
||||
#elif MDK_CONF_MPU == 2
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F4xx
|
||||
#elif MDK_CONF_MPU == 3
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F7xx
|
||||
#endif
|
||||
|
||||
// <o> Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 15
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
#define FREERTOS
|
||||
#elif MDK_CONF_THREAD == 3
|
||||
#define WOLFSSL_SAFERTOS
|
||||
#elif MDK_CONF_THREAD == 4
|
||||
#define USE_WINDOWS_API
|
||||
#elif MDK_CONF_THREAD == 5
|
||||
#define WOLFSSL_PTHREADS
|
||||
#elif MDK_CONF_THREAD == 6
|
||||
#define THREADX
|
||||
#define NETX
|
||||
#elif MDK_CONF_THREAD == 7
|
||||
#define MICRIUM
|
||||
#elif MDK_CONF_THREAD == 8
|
||||
#define EBSNET
|
||||
#elif MDK_CONF_THREAD == 9
|
||||
#define FREESCALE_MQX
|
||||
#define FREESCALE_KSDK_MQX
|
||||
#elif MDK_CONF_THREAD == 10
|
||||
#define WOLFSSL_TIRTOS
|
||||
#elif MDK_CONF_THREAD == 11
|
||||
#define WOLFSSL_uITRON4
|
||||
#elif MDK_CONF_THREAD == 12
|
||||
#define WOLFSSL_uTKERNEL2
|
||||
#elif MDK_CONF_THREAD == 13
|
||||
#define WOLFSSL_FROSTED
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
|
||||
// <e>File System
|
||||
#define MDK_CONF_FILESYSTEM 1
|
||||
#if MDK_CONF_FILESYSTEM == 0
|
||||
#define NO_FILESYSTEM
|
||||
#else
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <o> Network<0=>None <1=>RLnet <2=>User I/O
|
||||
#define MDK_CONF_NETWORK 1
|
||||
#if MDK_CONF_NETWORK == 0
|
||||
#elif MDK_CONF_NETWORK == 1
|
||||
#define WOLFSSL_KEIL_TCP_NET
|
||||
#elif MDK_CONF_NETWORK == 2
|
||||
#define WOLFSSL_USER_IO
|
||||
#endif
|
||||
|
||||
// <h>Debug options
|
||||
|
||||
// <e>Debug Message
|
||||
#define MDK_CONF_DebugMessage 0
|
||||
#if MDK_CONF_DebugMessage == 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Check malloc
|
||||
#define MDK_CONF_CheckMalloc 1
|
||||
#if MDK_CONF_CheckMalloc == 1
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
//</h>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hash DRBG
|
||||
#define MDK_CONF_HASHDRBG 1
|
||||
#if MDK_CONF_HASHDRBG == 1
|
||||
#define HAVE_HASHDRBG
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CURVE25519 SMALL
|
||||
#define MDK_CONF_CURVE25519_SMALL 0
|
||||
#if MDK_CONF_CURVE25519_SMALL == 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519 SMALL
|
||||
#define MDK_CONF_ED25519_SMALL 0
|
||||
#if MDK_CONF_ED25519_SMALL == 1
|
||||
#define ED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <e>Random Seed, for TEST Only
|
||||
#define MDK_CONF_RNDSEED 1
|
||||
#if MDK_CONF_RNDSEED == 1
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
// <h>Cert/Key Generation
|
||||
// <e>CertGen
|
||||
#define MDK_CONF_CERT_GEN 0
|
||||
#if MDK_CONF_CERT_GEN == 1
|
||||
#define WOLFSSL_CERT_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// <e>KeyGen
|
||||
#define MDK_CONF_KEY_GEN 0
|
||||
#if MDK_CONF_KEY_GEN == 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// </h>
|
||||
|
||||
|
||||
/**** wolfSSL Configuration ****/
|
||||
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>Include Old TLS
|
||||
#define MDK_CONF_NO_OLDTLS 0
|
||||
#if MDK_CONF_NO_OLDTLS == 0
|
||||
#define NO_OLD_TLS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CRL
|
||||
#define MDK_CONF_CRL 0
|
||||
#if MDK_CONF_CRL == 1
|
||||
#define HAVE_CRL
|
||||
#define WOLFSSL_DER_LOAD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OCSP
|
||||
#define MDK_CONF_OCSP 0
|
||||
#if MDK_CONF_OCSP == 1
|
||||
#define HAVE_OCSP
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OpenSSL Extra
|
||||
#define MDK_CONF_OPENSSL_EXTRA 0
|
||||
#if MDK_CONF_OPENSSL_EXTRA == 1
|
||||
#define OPENSSL_EXTRA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<nTsel>1</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -112,9 +112,14 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
<pMon>BIN\ULP2CM3.DLL</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO19 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
@@ -138,7 +143,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -146,56 +151,7 @@
|
||||
<Name>-UV0998FBE -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC216000000 -TP21 -TDS80B8 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>185</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134219474</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\SimpleClient\main.c\185</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>181</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134219494</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\SimpleClient\main.c\181</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>306</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>.\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
@@ -204,8 +160,18 @@
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.4.1\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.4.1</Type>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.7.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\Network\Network.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.7.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd</Filename>
|
||||
<Type>ARM.CMSIS.5.3.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
@@ -246,6 +212,10 @@
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
@@ -337,7 +307,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Board Support</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -353,7 +323,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS Driver</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -377,7 +347,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::File System</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
@@ -385,7 +355,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Network</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -176,7 +176,7 @@
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<mOS>0</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
@@ -489,6 +489,12 @@
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" exclusive="1">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.1.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F4xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="2.0.0"/>
|
||||
<targetInfos>
|
||||
@@ -515,8 +521,14 @@
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX5" Cvendor="ARM" Cversion="5.3.0" condition="RTOS RTX5">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
@@ -551,50 +563,50 @@
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="IPv4 Release" Cvendor="Keil" Cversion="7.9.0" condition="CMSIS Core with RTOS">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.9.0" condition="Network Driver ETH" maxInstances="1">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.9.0" condition="Network UDP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.9.0" condition="Network UDP/TCP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.9.0" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.9.0" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
@@ -629,244 +641,264 @@
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.0" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Cvendor="Keil" Cversion="1.3.0" condition="STM32F7 CMSIS_Driver ETH_MAC">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="2.1.0" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Cvendor="Keil" Cversion="1.6.0" condition="STM32F7 CMSIS_Driver ETH_MAC">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.4.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.6.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0-dev5"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.6" condition="STM32F756_777_779_750 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.6" condition="STM32F756_777_779_750 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="LTDC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7x6_7x7_7x8_7x9 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="LTDC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7x6_7x7_7x8_7x9_750 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7x5_7x6_7x7_7x9_750 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0-dev5"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="SimpleClient" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfSSL-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="SimpleClient" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfSSL-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.74.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0" removed="1">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS2\RTX\Config\RTX_Config.c" version="5.1.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.c</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\RTOS2\RTX\Config\RTX_Config.h" version="5.3.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.h</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config.c" version="5.0.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config.c" version="7.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="IPv4 Release" Cvendor="Keil" Cversion="7.9.0" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_BSD.h" version="5.0.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_BSD.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.9.0" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_DNS_Client.h" version="5.0.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_DNS_Client.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.9.0" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_ETH.h" version="5.1.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_ETH.h" version="7.1.0">
|
||||
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.9.0" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_TCP.h" version="5.0.1">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_TCP.h" version="7.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.9.0" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_UDP.h" version="5.0.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_UDP.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.9.0" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network\Config\Net_Debug.c" version="7.0.0">
|
||||
<instance index="0" removed="1">RTE\Network\Net_Debug.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="IPv4 Debug STDIO" Cvendor="Keil" Cversion="7.9.0" condition="CMSIS Core with RTOS and STDOUT"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
|
||||
<instance index="0" removed="1">RTE\wolfSSL\config-Crypt.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="" condition="wolfCrypt-Core"/>
|
||||
@@ -879,10 +911,10 @@
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.13.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.15.7">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleClient"/>
|
||||
</targetInfos>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -25,10 +25,15 @@
|
||||
|
||||
#include "wolfssl/wolfcrypt/settings.h"
|
||||
|
||||
#include "cmsis_os.h" /* CMSIS RTOS definitions */
|
||||
#include "rl_net.h" /* Network definitions */
|
||||
#include <time.h>
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
#include "cmsis_os.h"
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
#include "cmsis_os2.h"
|
||||
#endif
|
||||
|
||||
#if defined(STM32F7xx)
|
||||
#include "stm32f7xx_hal.h"
|
||||
#elif defined(STM32F4xx)
|
||||
@@ -64,27 +69,59 @@
|
||||
|
||||
// <h>RTC: for validate certificate date
|
||||
// <o>Year <1970-2099>
|
||||
#define RTC_YEAR 2018
|
||||
// <o>Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aut<9=>Sep<10=>Oct<11=>Nov<12=>Dec
|
||||
#define RTC_YEAR 2019
|
||||
// <o>Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aug<9=>Sep<10=>Oct<11=>Nov<12=>Dec
|
||||
#define RTC_MONTH 1
|
||||
// <o>Day <1-31>
|
||||
#define RTC_DAY 1
|
||||
// </h>
|
||||
|
||||
//------------- <<< end of configuration section >>> -----------------------
|
||||
|
||||
#warning "write MPU specific Set ups\n"
|
||||
static void SystemClock_Config (void) {
|
||||
|
||||
static void SystemClock_Config(void)
|
||||
{
|
||||
}
|
||||
|
||||
static void MPU_Config (void) {
|
||||
|
||||
static void MPU_Config(void)
|
||||
{
|
||||
}
|
||||
|
||||
static void CPU_CACHE_Enable (void) {
|
||||
|
||||
static void CPU_CACHE_Enable(void)
|
||||
{
|
||||
}
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
extern uint32_t os_time;
|
||||
#endif
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return os_time;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return osKernelGetTickCount();
|
||||
#endif
|
||||
}
|
||||
|
||||
static time_t epochTime;
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if (reset)
|
||||
return 0;
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return (double)os_time / 1000.0;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return (double)osKernelGetTickCount() / 1000.0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Initialize a Flash Memory Card
|
||||
@@ -111,62 +148,21 @@ static void init_filesystem (void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
extern void client_test(void const*arg);
|
||||
|
||||
void net_loop(void const *arg)
|
||||
{
|
||||
while(1) {
|
||||
net_main ();
|
||||
osThreadYield ();
|
||||
}
|
||||
}
|
||||
|
||||
osThreadDef(net_loop, osPriorityLow, 2, 0);
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
}
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
void app_main(void *arg)
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#define DWT ((DWT_Type *) (0xE0001000UL) )
|
||||
typedef struct
|
||||
void app_main(void const*arg)
|
||||
#endif
|
||||
{
|
||||
uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
if(netInitialize () == netOK)
|
||||
client_test(arg);
|
||||
else printf("ERROR: netInitialize\n");
|
||||
}
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
osThreadDef(app_main, osPriorityLow, 1, 32*1024);
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
@@ -178,7 +174,6 @@ typedef struct func_args {
|
||||
char** argv;
|
||||
} func_args;
|
||||
|
||||
extern void client_test(func_args * args) ;
|
||||
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
@@ -192,17 +187,19 @@ int main (void) {
|
||||
|
||||
char *verStr[] = { "SSL3", "TLS1.0", "TLS1.1", "TLS1.2", "TLS1.3"};
|
||||
#define VERSIZE 2
|
||||
char ver[VERSIZE];
|
||||
static char ver[VERSIZE];
|
||||
|
||||
MPU_Config(); /* Configure the MPU */
|
||||
CPU_CACHE_Enable(); /* Enable the CPU Cache */
|
||||
HAL_Init(); /* Initialize the HAL Library */
|
||||
SystemClock_Config(); /* Configure the System Clock */
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
osKernelInitialize();
|
||||
#endif
|
||||
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
net_initialize ();
|
||||
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
@@ -217,12 +214,12 @@ int main (void) {
|
||||
printf(" Other options: %s\n", OTHER_OPTIONS);
|
||||
setTime((time_t)((RTC_YEAR-1970)*365*24*60*60) + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60);
|
||||
|
||||
osThreadCreate (osThread(net_loop), NULL);
|
||||
|
||||
client_test(&args) ;
|
||||
|
||||
while(1)
|
||||
osDelay(1000);
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
osThreadCreate (osThread(app_main), (void *)&args);
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
osThreadNew(app_main, (void *)&args, NULL);
|
||||
#endif
|
||||
osKernelStart();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
wolfSSL example: TLS Server
|
||||
|
||||
Use Configuration Wizard tab
|
||||
|
||||
RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1)
|
||||
RTE_Device.h: Check ETH (Ethernet Interface)
|
||||
main.c for server port or TLS version
|
||||
user_settings.h for wolfCrypt or wolfSSL options
|
||||
|
||||
|
||||
519
IDE/MDK5-ARM/Projects/SimpleServer/RTE/wolfSSL/user_settings.h
Normal file
519
IDE/MDK5-ARM/Projects/SimpleServer/RTE/wolfSSL/user_settings.h
Normal file
@@ -0,0 +1,519 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#define NO_MAIN_DRIVER
|
||||
#define BENCH_EMBEDDED
|
||||
#define NO_DEV_RANDOM
|
||||
#define WOLFSSL_USER_CURRTIME
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#define NO_WRITEV
|
||||
#define NO_DEV_RANDOM
|
||||
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
|
||||
#define WOLFSSL_USER_CURRTIME /* for benchmark */
|
||||
#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
|
||||
#define WOLFSSL_GMTIME
|
||||
#define NO_MULTIBYTE_PRINT
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
|
||||
// <h>Common options
|
||||
// <o> MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx
|
||||
#define MDK_CONF_MPU 3
|
||||
#if MDK_CONF_MPU == 0
|
||||
|
||||
#elif MDK_CONF_MPU == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F2xx
|
||||
#elif MDK_CONF_MPU == 2
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F4xx
|
||||
#elif MDK_CONF_MPU == 3
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32F7xx
|
||||
#endif
|
||||
|
||||
// <o> Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
|
||||
// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
|
||||
// <7=>Micrium <8=>EBSnet<9=>MQX
|
||||
// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
|
||||
// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others
|
||||
#define MDK_CONF_THREAD 15
|
||||
#if MDK_CONF_THREAD== 0
|
||||
#define SINGLE_THREADED
|
||||
#elif MDK_CONF_THREAD == 1
|
||||
#define FREERTOS
|
||||
#elif MDK_CONF_THREAD == 3
|
||||
#define WOLFSSL_SAFERTOS
|
||||
#elif MDK_CONF_THREAD == 4
|
||||
#define USE_WINDOWS_API
|
||||
#elif MDK_CONF_THREAD == 5
|
||||
#define WOLFSSL_PTHREADS
|
||||
#elif MDK_CONF_THREAD == 6
|
||||
#define THREADX
|
||||
#define NETX
|
||||
#elif MDK_CONF_THREAD == 7
|
||||
#define MICRIUM
|
||||
#elif MDK_CONF_THREAD == 8
|
||||
#define EBSNET
|
||||
#elif MDK_CONF_THREAD == 9
|
||||
#define FREESCALE_MQX
|
||||
#define FREESCALE_KSDK_MQX
|
||||
#elif MDK_CONF_THREAD == 10
|
||||
#define WOLFSSL_TIRTOS
|
||||
#elif MDK_CONF_THREAD == 11
|
||||
#define WOLFSSL_uITRON4
|
||||
#elif MDK_CONF_THREAD == 12
|
||||
#define WOLFSSL_uTKERNEL2
|
||||
#elif MDK_CONF_THREAD == 13
|
||||
#define WOLFSSL_FROSTED
|
||||
#elif MDK_CONF_THREAD == 14
|
||||
#define WOLFSSL_CMSIS_RTOS
|
||||
#elif MDK_CONF_THREAD == 15
|
||||
#define WOLFSSL_CMSIS_RTOSv2
|
||||
#elif MDK_CONF_THREAD == 16
|
||||
#define SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
|
||||
// <e>File System
|
||||
#define MDK_CONF_FILESYSTEM 1
|
||||
#if MDK_CONF_FILESYSTEM == 0
|
||||
#define NO_FILESYSTEM
|
||||
#else
|
||||
#define WOLFSSL_KEIL_FS
|
||||
#define NO_WOLFSSL_DIR
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <o> Network<0=>None <1=>RLnet <2=>User I/O
|
||||
#define MDK_CONF_NETWORK 1
|
||||
#if MDK_CONF_NETWORK == 0
|
||||
#elif MDK_CONF_NETWORK == 1
|
||||
#define WOLFSSL_KEIL_TCP_NET
|
||||
#elif MDK_CONF_NETWORK == 2
|
||||
#define WOLFSSL_USER_IO
|
||||
#endif
|
||||
|
||||
// <h>Debug options
|
||||
|
||||
// <e>Debug Message
|
||||
#define MDK_CONF_DebugMessage 0
|
||||
#if MDK_CONF_DebugMessage == 1
|
||||
#define DEBUG_WOLFSSL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Check malloc
|
||||
#define MDK_CONF_CheckMalloc 1
|
||||
#if MDK_CONF_CheckMalloc == 1
|
||||
#define WOLFSSL_MALLOC_CHECK
|
||||
#define USE_WOLFSSL_MEMORY
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ErrNo.h
|
||||
#define MDK_CONF_ErrNo 1
|
||||
#if MDK_CONF_ErrNo == 1
|
||||
#define HAVE_ERRNO
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Error Strings
|
||||
#define MDK_CONF_ErrorStrings 1
|
||||
#if MDK_CONF_ErrorStrings == 0
|
||||
#define NO_ERROR_STRINGS
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
//</h>
|
||||
|
||||
// <h> wolfCrypt Configuration
|
||||
|
||||
// <h>Hash/Crypt Algrithm
|
||||
|
||||
// <e>MD2
|
||||
#define MDK_CONF_MD2 0
|
||||
#if MDK_CONF_MD2 == 1
|
||||
#define WOLFSSL_MD2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD4
|
||||
#define MDK_CONF_MD4 0
|
||||
#if MDK_CONF_MD4 == 0
|
||||
#define NO_MD4
|
||||
#endif
|
||||
// </e>
|
||||
// <e>MD5
|
||||
#define MDK_CONF_MD5 1
|
||||
#if MDK_CONF_MD5 == 0
|
||||
#define NO_MD5
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA
|
||||
#define MDK_CONF_SHA 1
|
||||
#if MDK_CONF_SHA == 0
|
||||
#define NO_SHA
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-256
|
||||
#define MDK_CONF_SHA256 1
|
||||
#if MDK_CONF_SHA256 == 0
|
||||
#define NO_SHA256
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-384
|
||||
#define MDK_CONF_SHA384 1
|
||||
#if MDK_CONF_SHA384 == 1
|
||||
#define WOLFSSL_SHA384
|
||||
#endif
|
||||
// </e>
|
||||
// <e>SHA-512
|
||||
#define MDK_CONF_SHA512 1
|
||||
#if MDK_CONF_SHA512 == 1
|
||||
#define WOLFSSL_SHA512
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hash DRBG
|
||||
#define MDK_CONF_HASHDRBG 1
|
||||
#if MDK_CONF_HASHDRBG == 1
|
||||
#define HAVE_HASHDRBG
|
||||
#endif
|
||||
// </e>
|
||||
// <e>RIPEMD
|
||||
#define MDK_CONF_RIPEMD 1
|
||||
#if MDK_CONF_RIPEMD == 1
|
||||
#define WOLFSSL_RIPEMD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>BLAKE2
|
||||
#define MDK_CONF_BLAKE2 0
|
||||
#if MDK_CONF_BLAKE2 == 1
|
||||
#define HAVE_BLAKE2
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC
|
||||
#define MDK_CONF_HMAC 1
|
||||
#if MDK_CONF_HMAC == 0
|
||||
#define NO_HMAC
|
||||
#endif
|
||||
// </e>
|
||||
// <e>HMAC KDF
|
||||
#define MDK_CONF_HKDF 1
|
||||
#if MDK_CONF_HKDF == 1
|
||||
#define HAVE_HKDF
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES CCM
|
||||
#define MDK_CONF_AESCCM 1
|
||||
#if MDK_CONF_AESCCM == 1
|
||||
#define HAVE_AESCCM
|
||||
#endif
|
||||
// </e>
|
||||
// <e>AES GCM
|
||||
#define MDK_CONF_AESGCM 1
|
||||
#if MDK_CONF_AESGCM == 1
|
||||
#define HAVE_AESGCM
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RC4
|
||||
#define MDK_CONF_RC4 0
|
||||
#if MDK_CONF_RC4 == 0
|
||||
#define NO_RC4
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>HC128
|
||||
#define MDK_CONF_HC128 1
|
||||
#if MDK_CONF_AESGCM == 0
|
||||
#define NO_HC128
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>RABBIT
|
||||
#define MDK_CONF_RABBIT 1
|
||||
#if MDK_CONF_RABBIT == 0
|
||||
#define NO_RABBIT
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CHACHA
|
||||
#define MDK_CONF_CHACHA 1
|
||||
#if MDK_CONF_CHACHA == 1
|
||||
#define HAVE_CHACHA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>POLY1305
|
||||
#define MDK_CONF_POLY1305 1
|
||||
#if MDK_CONF_POLY1305 == 1
|
||||
#define HAVE_POLY1305
|
||||
#define HAVE_ONE_TIME_AUTH
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DES3
|
||||
#define MDK_CONF_DES3 1
|
||||
#if MDK_CONF_DES3 == 0
|
||||
#define NO_DES3
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>AES
|
||||
#define MDK_CONF_AES 1
|
||||
#if MDK_CONF_AES == 0
|
||||
#define NO_AES
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CAMELLIA
|
||||
#define MDK_CONF_CAMELLIA 1
|
||||
#if MDK_CONF_CAMELLIA == 1
|
||||
#define HAVE_CAMELLIA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>DH
|
||||
#define MDK_CONF_DH 1
|
||||
#if MDK_CONF_DH == 0
|
||||
#define NO_DH
|
||||
#endif
|
||||
// </e>
|
||||
// <e>DSA
|
||||
#define MDK_CONF_DSA 1
|
||||
#if MDK_CONF_DSA == 0
|
||||
#define NO_DSA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>SRP
|
||||
#define MDK_CONF_SRP 1
|
||||
#if MDK_CONF_SRP == 1
|
||||
#define HAVE_SRP
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>PWDBASED
|
||||
#define MDK_CONF_PWDBASED 1
|
||||
#if MDK_CONF_PWDBASED == 0
|
||||
#define NO_PWDBASED
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>ECC
|
||||
#define MDK_CONF_ECC 1
|
||||
#if MDK_CONF_ECC == 1
|
||||
#define HAVE_ECC
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>CURVE25519
|
||||
#define MDK_CONF_CURVE25519 1
|
||||
#if MDK_CONF_CURVE25519 == 1
|
||||
#define HAVE_CURVE25519
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CURVE25519 SMALL
|
||||
#define MDK_CONF_CURVE25519_SMALL 0
|
||||
#if MDK_CONF_CURVE25519_SMALL == 1
|
||||
#define CURVED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519
|
||||
#define MDK_CONF_ED25519 1
|
||||
#if MDK_CONF_ED25519 == 1
|
||||
#define HAVE_ED25519
|
||||
#endif
|
||||
// </e>
|
||||
// <e>ED25519 SMALL
|
||||
#define MDK_CONF_ED25519_SMALL 0
|
||||
#if MDK_CONF_ED25519_SMALL == 1
|
||||
#define ED25519_SMALL
|
||||
#endif
|
||||
// </e>
|
||||
// <e>PKCS7
|
||||
#define MDK_CONF_PKCS7 0
|
||||
#if MDK_CONF_PKCS7 == 1
|
||||
#define HAVE_PKCS7
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>NTRU (need License, "crypto_ntru.h")
|
||||
#define MDK_CONF_NTRU 0
|
||||
#if MDK_CONF_NTRU == 1
|
||||
#define HAVE_NTRU
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <e>Random Seed, for TEST Only
|
||||
#define MDK_CONF_RNDSEED 1
|
||||
#if MDK_CONF_RNDSEED == 1
|
||||
#define WOLFSSL_GENSEED_FORTEST
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <h>Hardware Crypt (See document for usage)
|
||||
// <e>Hardware RNG
|
||||
#define MDK_CONF_STM32F2_RNG 0
|
||||
#if MDK_CONF_STM32F2_RNG == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_RNG
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Crypt
|
||||
#define MDK_CONF_STM32F2_CRYPTO 0
|
||||
#if MDK_CONF_STM32F2_CRYPTO == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_CRYPTO
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Hardware Hash
|
||||
#define MDK_CONF_STM32F2_HASH 0
|
||||
#if MDK_CONF_STM32F2_HASH == 1
|
||||
#define WOLFSSL_STM32_CUBEMX
|
||||
#define STM32_HASH
|
||||
#define WC_ASYNC_DEV_SIZE 320+24
|
||||
#define STM32_HAL_TIMEOUT 0xFF
|
||||
|
||||
#if defined(STM32F2xx)
|
||||
#define WOLFSSL_STM32F2
|
||||
#elif defined(STM32F4xx)
|
||||
#define WOLFSSL_STM32F4
|
||||
#elif defined(STM32F7xx)
|
||||
#define WOLFSSL_STM32F7
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
|
||||
// <h>Cert/Key Strage
|
||||
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
|
||||
#define MDK_CONF_CERT_BUFF 0
|
||||
#if MDK_CONF_CERT_BUFF== 1
|
||||
#define USE_CERT_BUFFERS_1024
|
||||
#elif MDK_CONF_CERT_BUFF == 2
|
||||
#define USE_CERT_BUFFERS_2048
|
||||
#endif
|
||||
//</h>
|
||||
// <h>Cert/Key Generation
|
||||
// <e>CertGen
|
||||
#define MDK_CONF_CERT_GEN 0
|
||||
#if MDK_CONF_CERT_GEN == 1
|
||||
#define WOLFSSL_CERT_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// <e>KeyGen
|
||||
#define MDK_CONF_KEY_GEN 0
|
||||
#if MDK_CONF_KEY_GEN == 1
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#endif
|
||||
// </e>
|
||||
// </h>
|
||||
// <e>Use Fast Math
|
||||
#define MDK_CONF_FASTMATH 1
|
||||
#if MDK_CONF_FASTMATH == 1
|
||||
#define USE_FAST_MATH
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#endif
|
||||
// </e>
|
||||
// <e>Small Stack
|
||||
#define MDK_CONF_SmallStack 1
|
||||
#if MDK_CONF_SmallStack == 0
|
||||
#define NO_WOLFSSL_SMALL_STACK
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// </h>
|
||||
|
||||
|
||||
/**** wolfSSL Configuration ****/
|
||||
|
||||
// <h> wolfSSL Configuration
|
||||
|
||||
// <e>TLS 1.3
|
||||
#define MDK_CONF_TLS 1
|
||||
#if MDK_CONF_TLS == 1
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
#define HAVE_FFDHE_2048
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
// <e>Include Old TLS
|
||||
#define MDK_CONF_NO_OLDTLS 0
|
||||
#if MDK_CONF_NO_OLDTLS == 0
|
||||
#define NO_OLD_TLS
|
||||
#endif
|
||||
// </e>
|
||||
// <e>CRL
|
||||
#define MDK_CONF_CRL 0
|
||||
#if MDK_CONF_CRL == 1
|
||||
#define HAVE_CRL
|
||||
#define WOLFSSL_DER_LOAD
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OCSP
|
||||
#define MDK_CONF_OCSP 0
|
||||
#if MDK_CONF_OCSP == 1
|
||||
#define HAVE_OCSP
|
||||
#endif
|
||||
// </e>
|
||||
// <e>OpenSSL Extra
|
||||
#define MDK_CONF_OPENSSL_EXTRA 0
|
||||
#if MDK_CONF_OPENSSL_EXTRA == 1
|
||||
#define OPENSSL_EXTRA
|
||||
#endif
|
||||
// </e>
|
||||
|
||||
//</h>
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<nTsel>1</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -112,9 +112,14 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
<pMon>BIN\ULP2CM3.DLL</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ULP2CM3</Key>
|
||||
<Name>-UP1135060 -O207 -S10 -C0 -P00 -N00("") -D00(00000000) -L00(0) -TO19 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
@@ -155,8 +160,18 @@
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.5.0</Type>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.7.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\Network\Network.scvd</Filename>
|
||||
<Type>Keil.MDK-Middleware.7.7.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<ScvdPack>
|
||||
<Filename>C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd</Filename>
|
||||
<Type>ARM.CMSIS.5.3.0</Type>
|
||||
<SubType>1</SubType>
|
||||
</ScvdPack>
|
||||
<Tracepoint>
|
||||
@@ -197,6 +212,10 @@
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableLog>0</EnableLog>
|
||||
@@ -336,7 +355,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>::Network</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>1</RteFlg>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F756NGHx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.9.0</PackID>
|
||||
<PackID>Keil.STM32F7xx_DFP.2.11.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
@@ -176,7 +176,7 @@
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>1</mOS>
|
||||
<mOS>0</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
@@ -489,6 +489,12 @@
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" exclusive="1">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</api>
|
||||
<api Capiversion="1.1.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||
<package name="STM32F4xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="2.0.0"/>
|
||||
<targetInfos>
|
||||
@@ -515,8 +521,14 @@
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.1.1"/>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX5" Cvendor="ARM" Cversion="5.3.0" condition="RTOS RTX5">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
@@ -551,50 +563,50 @@
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="IPv4 Release" Cvendor="Keil" Cversion="7.9.0" condition="CMSIS Core with RTOS">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.9.0" condition="Network Driver ETH" maxInstances="1">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.9.0" condition="Network UDP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.9.0" condition="Network UDP/TCP">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.9.0" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.9.0" condition="Network Interface">
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
@@ -629,216 +641,230 @@
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.1.0" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Cvendor="Keil" Cversion="1.3.0" condition="STM32F7 CMSIS_Driver ETH_MAC">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="2.1.0" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Cvendor="Keil" Cversion="1.6.0" condition="STM32F7 CMSIS_Driver ETH_MAC">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.4.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="1.6.0" condition="STM32F7 CMSIS_Driver MCI">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0-dev5"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="CRYP" Cvendor="Keil" Cversion="1.2.6" condition="STM32F756_777_779_750 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL Common">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.0" condition="STM32F756_777_779 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="HASH" Cvendor="Keil" Cversion="1.2.6" condition="STM32F756_777_779_750 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="I2C" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="LTDC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7x6_7x7_7x8_7x9 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="LTDC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7x6_7x7_7x8_7x9_750 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7x5_7x6_7x7_7x9_750 HAL GPIO">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RNG" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 HAL DMA">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0-dev5"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS">
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="SimpleServer" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfSSL-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="SimpleServer" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfSSL-Core">
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
</components>
|
||||
<files>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.74.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
|
||||
<instance index="0" removed="1">RTE\CMSIS\RTX_Conf_CM.c</instance>
|
||||
<component Capiversion="1.0.0" Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.81.1" condition="RTOS RTX" isDefaultVariant="1"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="CMSIS\RTOS2\RTX\Config\RTX_Config.c" version="5.1.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.c</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||
<file attr="config" category="header" name="CMSIS\RTOS2\RTX\Config\RTX_Config.h" version="5.3.0">
|
||||
<instance index="0">RTE\CMSIS\RTX_Config.h</instance>
|
||||
<component Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.3.0" condition="RTOS2 RTX5 Lib"/>
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.3.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.5.0">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\RTE_Device.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.0">
|
||||
<file attr="config" category="source" condition="STM32F756_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f756xx.s" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\startup_stm32f756xx.s</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.6">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h</instance>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.6" condition="STM32F7 Framework Classic"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.2">
|
||||
<instance index="0">RTE\Device\STM32F756NGHx\system_stm32f7xx.c</instance>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.0" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.2" condition="STM32F7 CMSIS"/>
|
||||
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.11.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.0" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.10.1" condition="CMSIS Core with RTOS and File System I/O"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2.0">
|
||||
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.10.1" condition="File System and SD/MMC Driver" maxInstances="2"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config.c" version="5.0.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config.c" version="7.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config.c</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="CORE" Cvariant="Release" Cvendor="Keil" Cversion="6.7.5" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="IPv4 Release" Cvendor="Keil" Cversion="7.9.0" condition="CMSIS Core with RTOS"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_BSD.h" version="5.0.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_BSD.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.9.0" condition="Network UDP/TCP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_DNS_Client.h" version="0.0.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_DNS_Client.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="6.7.5" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.9.0" condition="Network UDP"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
@@ -849,26 +875,26 @@
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.4.1"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_ETH.h" version="5.1.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_ETH.h" version="7.1.0">
|
||||
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="6.7.5" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.9.0" condition="Network Driver ETH" maxInstances="1"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_TCP.h" version="5.0.1">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_TCP.h" version="7.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.9.0" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
</file>
|
||||
<file attr="config" category="source" name="Network_v6\Config\Net_Config_UDP.h" version="5.0.0">
|
||||
<file attr="config" category="source" name="Network\Config\Net_Config_UDP.h" version="5.0.0">
|
||||
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
|
||||
<component Cbundle="MDK-Pro Net_v6" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="6.7.5" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.6.0"/>
|
||||
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.9.0" condition="Network Interface"/>
|
||||
<package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
@@ -885,10 +911,10 @@
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.13.0"/>
|
||||
<targetInfos/>
|
||||
</file>
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.14.0">
|
||||
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h" version="3.15.7">
|
||||
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.14.0" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.14.0"/>
|
||||
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.15.7" condition="wolfCrypt-Core"/>
|
||||
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.4" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.15.7"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="SimpleServer"/>
|
||||
</targetInfos>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
@@ -20,15 +20,22 @@
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "wolfssl/wolfcrypt/settings.h"
|
||||
|
||||
#include "cmsis_os.h" /* CMSIS RTOS definitions */
|
||||
#include "rl_net.h" /* Network definitions */
|
||||
#include <time.h>
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
#include "cmsis_os.h"
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
#include "cmsis_os2.h"
|
||||
#endif
|
||||
|
||||
/* Dummy definition for test RTC */
|
||||
#define RTC_YEAR 2019
|
||||
#if defined(STM32F7xx)
|
||||
#include "stm32f7xx_hal.h"
|
||||
#elif defined(STM32F4xx)
|
||||
@@ -59,7 +66,7 @@
|
||||
|
||||
// <h>RTC: for validate certificate date
|
||||
// <o>Year <1970-2099>
|
||||
#define RTC_YEAR 2018
|
||||
#define RTC_YEAR 2019
|
||||
// <o>Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aut<9=>Sep<10=>Oct<11=>Nov<12=>Dec
|
||||
#define RTC_MONTH 1
|
||||
// <o>Day <1-31>
|
||||
@@ -106,43 +113,28 @@ static void init_filesystem (void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS) || defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
|
||||
void net_loop(void const *arg)
|
||||
{
|
||||
while(1) {
|
||||
net_main ();
|
||||
osThreadYield ();
|
||||
}
|
||||
}
|
||||
|
||||
osThreadDef(net_loop, osPriorityLow, 2, 0);
|
||||
|
||||
#ifdef RTE_CMSIS_RTOS_RTX
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
extern uint32_t os_time;
|
||||
static time_t epochTime;
|
||||
|
||||
uint32_t HAL_GetTick(void) {
|
||||
return os_time;
|
||||
}
|
||||
|
||||
time_t time(time_t *t){
|
||||
return epochTime ;
|
||||
}
|
||||
|
||||
void setTime(time_t t){
|
||||
epochTime = t;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_CURRTIME_OSTICK
|
||||
|
||||
#include <stdint.h>
|
||||
extern uint32_t os_time;
|
||||
uint32_t HAL_GetTick(void)
|
||||
{
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return os_time;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return osKernelGetTickCount();
|
||||
#endif
|
||||
}
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) os_time = 0 ;
|
||||
return (double)os_time /1000.0;
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
return (double)os_time / 1000.0;
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
return (double)osKernelGetTickCount() / 1000.0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#else
|
||||
@@ -155,15 +147,46 @@ typedef struct
|
||||
uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
|
||||
} DWT_Type;
|
||||
|
||||
extern uint32_t SystemCoreClock ;
|
||||
extern uint32_t SystemCoreClock;
|
||||
|
||||
double current_time(int reset)
|
||||
{
|
||||
if(reset) DWT->CYCCNT = 0 ;
|
||||
return ((double)DWT->CYCCNT/SystemCoreClock) ;
|
||||
if (reset)
|
||||
DWT->CYCCNT = 0;
|
||||
return ((double)DWT->CYCCNT / SystemCoreClock);
|
||||
}
|
||||
#endif
|
||||
|
||||
static time_t epochTime;
|
||||
time_t time(time_t *t)
|
||||
{
|
||||
return epochTime;
|
||||
}
|
||||
|
||||
void setTime(time_t t)
|
||||
{
|
||||
epochTime = t;
|
||||
}
|
||||
|
||||
|
||||
extern void server_test(void const *arg);
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
void app_main(void *arg)
|
||||
#else
|
||||
void app_main(void const*arg)
|
||||
#endif
|
||||
{
|
||||
if (netInitialize() == netOK)
|
||||
server_test(arg);
|
||||
else
|
||||
printf("ERROR: netInitialize\n");
|
||||
}
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
osThreadDef(app_main, osPriorityLow, 1, 32 * 1024);
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
Main Thread 'main': Run Network
|
||||
*---------------------------------------------------------------------------*/
|
||||
@@ -173,12 +196,11 @@ typedef struct func_args {
|
||||
char** argv;
|
||||
} func_args;
|
||||
|
||||
extern void server_test(func_args * args) ;
|
||||
|
||||
int myoptind = 0;
|
||||
char* myoptarg = NULL;
|
||||
char *myoptarg = NULL;
|
||||
|
||||
int main (void) {
|
||||
int main(void)
|
||||
{
|
||||
static char *argv[] =
|
||||
{ "server", "-p", SERVER_PORT,
|
||||
"-v", " ", OTHER_OPTIONS } ;
|
||||
@@ -197,12 +219,15 @@ int main (void) {
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
init_filesystem ();
|
||||
#endif
|
||||
net_initialize ();
|
||||
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n") ;
|
||||
wolfSSL_Debugging_ON() ;
|
||||
#endif
|
||||
#if defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
osKernelInitialize();
|
||||
#endif
|
||||
|
||||
#if defined(DEBUG_WOLFSSL)
|
||||
printf("Turning ON Debug message\n");
|
||||
wolfSSL_Debugging_ON();
|
||||
#endif
|
||||
|
||||
snprintf(ver, VERSIZE, "%d", TLS_VER);
|
||||
argv[4] = ver;
|
||||
@@ -212,12 +237,10 @@ int main (void) {
|
||||
printf(" Other options: %s\n", OTHER_OPTIONS);
|
||||
setTime((RTC_YEAR-1970)*365*24*60*60 + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60);
|
||||
|
||||
osThreadCreate (osThread(net_loop), NULL);
|
||||
|
||||
server_test(&args) ;
|
||||
|
||||
while(1)
|
||||
osDelay(1000);
|
||||
|
||||
#if defined(WOLFSSL_CMSIS_RTOS)
|
||||
osThreadCreate(osThread(app_main), (void *)&args);
|
||||
#elif defined(WOLFSSL_CMSIS_RTOSv2)
|
||||
osThreadNew(app_main, (void *)&args, NULL);
|
||||
#endif
|
||||
osKernelStart();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* main.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*shell.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* time-STM32F2.c
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
* Copyright (C) 2006-2019 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user