瀏覽代碼

Opis repozytorium

Jan Potocki 4 年之前
父節點
當前提交
9a1f4a0fe7
共有 2 個文件被更改,包括 36 次插入0 次删除
  1. 9
    0
      LICENSE
  2. 27
    0
      README.md

+ 9
- 0
LICENSE 查看文件

1
+/*
2
+ * ------------------------------------------------------------
3
+ * "THE BEERWARE LICENSE" (Revision 42):
4
+ * <MKjanek32> wrote this code. As long as you retain this 
5
+ * notice, you can do whatever you want with this stuff. If we
6
+ * meet someday, and you think this stuff is worth it, you can
7
+ * buy me a beer in return.
8
+ * ------------------------------------------------------------
9
+*/

+ 27
- 0
README.md 查看文件

1
+# AK2 - ARMv7 lab 2020
2
+Eksperymenty z asemblerem ARMv7, w tym napisane na tę architekturę zadania doktora Tadeusza Tomczaka (lub wariacje na ich temat) z zajęć laboratoryjnych z Architektury komputerów 2, standardowo pisane na x86.  
3
+Programy były testowane na płytce PandaBoard, ale powinno dać się uruchomić je również na Raspberry Pi 2 i kolejnych generacjach.
4
+
5
+Przydatne linki:  
6
+* ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition – opis architektury ARMv7:  
7
+https://static.docs.arm.com/ddi0406/c/DDI0406C_C_arm_architecture_reference_manual.pdf
8
+* ARM Instruction Set Reference Guide – spis wszystkich rozkazów asemblera ARM:  
9
+https://static.docs.arm.com/100076/0100/arm_instruction_set_reference_guide_100076_0100_00_en.pdf
10
+* Linux System Call Table – spis funkcji systemowych Linuxa dla architektur x86 i ARM w przejrzystej formie:  
11
+https://chromium.googlesource.com/chromiumos/docs/+/master/constants/syscalls.md
12
+* Procedure Call Standard for the ARM Architecture – opis konwencji wywołań ARM używanej między innymi w systemach z rodziny Linux:  
13
+https://static.docs.arm.com/ihi0042/g/aapcs32.pdf
14
+* Using as – dokumentacja GNU Assembler, opis składni:  
15
+https://sourceware.org/binutils/docs/as/
16
+* C++ reference/C reference – dokumentacja języków C/C++ (przydatne przy łączeniu kod w C i asemblerze):  
17
+https://en.cppreference.com/w/
18
+    * Opis podstawowych typów w językach C/C++ i ich długości w różnych modelach danych:  
19
+    https://en.cppreference.com/w/cpp/language/types
20
+    * Opis funkcji printf i jej ciągów formatujących:  
21
+    https://en.cppreference.com/w/cpp/io/c/fprintf
22
+    * Opis funkcji scanf i jej ciągów formatujących:  
23
+    https://en.cppreference.com/w/cpp/io/c/fscanf
24
+
25
+UWAGA:  
26
+Pomiar cykli zegarowych procesora za pomocą licznika CCNT nie jest w przypadku architektury ARM tak samo prosty, jak posługiwanie się licznikiem TSC znanym z architektury x86. Konieczne jest załadowanie dodatkowego modułu jądra, który w trybie systemu operacyjnego wykona kilka instrukcji zezwalających użytkownikowi na odczyt CCNT, może być też potrzebne zablokowanie stanów bezczynności (idle) procesora. Zainteresowani mogą spróbować z modułem jądra stąd:  
27
+https://github.com/thoughtpolice/enable_arm_pmu

Loading…
取消
儲存