Compare commits
No commits in common. "dev" and "Denys-2024-06-04" have entirely different histories.
dev
...
Denys-2024
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"user": "borysr",
|
||||
"email": "borysr@gmail.com",
|
||||
"user": "Denys",
|
||||
"email": "denys@mpabi.pl",
|
||||
"remotes": [
|
||||
{
|
||||
"name": "r",
|
||||
|
@ -8,7 +8,7 @@
|
|||
"domain": "qstack.pl",
|
||||
"port": "3000",
|
||||
"token_name": "t",
|
||||
"token": "8ee3f1b7980197aeceadee3cf4d980f817d44f06",
|
||||
"token": "a12b9583297c6bce982d9894a48714c7c2b9f73d",
|
||||
"group": "1i-2023",
|
||||
"project": "homework"
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,256 @@
|
|||
c
|
||||
b main
|
||||
c
|
||||
c
|
||||
exit
|
||||
target extended-remote localhost:3333
|
||||
file prog
|
||||
load
|
||||
dashboard memory watch 0x1ff80 0x80
|
||||
set radix 16
|
||||
set args 0x1ff80 0x80 0x30
|
||||
source gdb/z.py
|
||||
source gdb/z.py
|
||||
source gdb/z.py
|
||||
source gdb/z.py
|
||||
source gdb/z.py
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
load
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
si
|
||||
exit
|
|
@ -7,7 +7,7 @@ LDLIBS=
|
|||
CFLAGS+=-O0 -ggdb3
|
||||
|
||||
LDFLAGS+=-Wl,--no-relax
|
||||
LDFLAGS+=-Wl,-Ttext=0x80000000,-Tdata=0x80010000
|
||||
LDFLAGS+=-Wl,-Tdata=0x10000
|
||||
# LDFLAGS+=-T murax_128k_ram.ld
|
||||
|
||||
PROGS=prog prog.bin prog.lst
|
||||
|
|
|
@ -9,8 +9,8 @@ _start:
|
|||
la gp, __global_pointer$
|
||||
.option pop
|
||||
|
||||
li sp, 0x800ffff0
|
||||
|
||||
li sp, 0x1fff0
|
||||
j finish_bss
|
||||
# Clear the bss segment
|
||||
la a0, __bss_start
|
||||
la a1, __BSS_END__
|
||||
|
|
Binary file not shown.
147
cpp/_rvmain.cpp
147
cpp/_rvmain.cpp
|
@ -1,163 +1,44 @@
|
|||
#include <stdint.h>
|
||||
|
||||
int strlen(char *s) {
|
||||
char *p = s;
|
||||
while (*p != '\0')
|
||||
|
||||
int strlen(const char *s) {
|
||||
const char *p = s;
|
||||
while (*p != '\0') {
|
||||
p++;
|
||||
}
|
||||
return p - s;
|
||||
}
|
||||
|
||||
|
||||
void strcpy(char *s, char *t)
|
||||
{
|
||||
while (*s++ = *t++);
|
||||
void strcpy(char *s, const char *t) {
|
||||
while ((*s++ = *t++) != '\0');
|
||||
}
|
||||
|
||||
#define ALLOCSIZE 10000
|
||||
|
||||
|
||||
static char allocbuf[ALLOCSIZE];
|
||||
static char *allocp = allocbuf;
|
||||
|
||||
char *alloc(int n)
|
||||
{
|
||||
|
||||
char *alloc(int n) {
|
||||
if (n % 4 != 0) {
|
||||
n += 4 - (n % 4);
|
||||
}
|
||||
|
||||
|
||||
if (allocbuf + ALLOCSIZE - allocp >= n) {
|
||||
allocp += n;
|
||||
return allocp - n;
|
||||
} else
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// def. model danych
|
||||
|
||||
//pre processor
|
||||
#define LEN (8+2)*10
|
||||
|
||||
struct model {
|
||||
char * str;
|
||||
uint32_t len ;
|
||||
};
|
||||
|
||||
|
||||
//alg
|
||||
// prosta implementacji func. z bibl. std. strok przy uzyciu gpt3.5
|
||||
//
|
||||
|
||||
#define NULL ((void*) 0)
|
||||
|
||||
//
|
||||
// Funkcja pomocnicza do sprawdzania, czy znak jest wśród delimiterów
|
||||
bool is_delim(char c, const char *delims) {
|
||||
while (*delims) {
|
||||
if (c == *delims) {
|
||||
return true;
|
||||
}
|
||||
delims++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Najprostsza implementacja funkcji strtok
|
||||
char *simple_strtok(char *str, const char *delims) {
|
||||
static char *static_str = (char *) NULL; // Przechowuje wskaźnik do bieżącej pozycji w ciągu
|
||||
|
||||
// Jeśli przekazano nowy ciąg, zaktualizuj static_str
|
||||
if (str == NULL) {
|
||||
return (char *) NULL; // str nie wskazuje na zdanie !!!
|
||||
}
|
||||
static_str = str;
|
||||
|
||||
// " .,mpabi"
|
||||
// ^
|
||||
|
||||
// Pomiń początkowe delimitery
|
||||
while (*static_str && is_delim(*static_str, delims)) {
|
||||
static_str++;
|
||||
}
|
||||
|
||||
// Jeśli doszliśmy do końca ciągu, zwróć NULL
|
||||
if (*static_str == '\0') {
|
||||
return (char *) NULL;
|
||||
}
|
||||
|
||||
// Zapisz początek tokenu
|
||||
char *token_start = static_str;
|
||||
|
||||
// Znajdź koniec tokenu
|
||||
while (*static_str && !is_delim(*static_str, delims)) {
|
||||
static_str++;
|
||||
}
|
||||
|
||||
// Jeśli znaleziono delimitery, zamień je na '\0' i zaktualizuj static_str
|
||||
if (*static_str) {
|
||||
*static_str = '\0';
|
||||
static_str++;
|
||||
}
|
||||
|
||||
// Zwróć początek tokenu
|
||||
return token_start;
|
||||
}
|
||||
|
||||
char buf[100];
|
||||
struct model * p = (struct model *) buf; //p[1]
|
||||
////func alg
|
||||
//in: ptr to date
|
||||
//return: count of words
|
||||
int alg (const char * ptr) {
|
||||
|
||||
char bufer[ALLOCSIZE];
|
||||
strcpy(bufer, (char *)ptr);
|
||||
|
||||
const char *delims = " ,.!?:;\n\t";
|
||||
|
||||
int8_t count = 0;
|
||||
|
||||
char *token = simple_strtok(bufer, delims);
|
||||
|
||||
while (token != (char *)NULL) {
|
||||
|
||||
p[count].str = token;
|
||||
p[count].len = strlen(token);
|
||||
|
||||
token = simple_strtok((char *)NULL, delims);
|
||||
count++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
int main() {
|
||||
const char *s = "Denys";
|
||||
int wynik = strlen(s);
|
||||
|
||||
char *str = "If wantered relation no surprise of all";
|
||||
|
||||
alg(str);
|
||||
asm ("nop");
|
||||
|
||||
return 1;
|
||||
return wynik;
|
||||
}
|
||||
|
||||
// wynik tego kodu:
|
||||
// p[0].str = If
|
||||
// p[0].len = 2
|
||||
|
||||
// p[1].str = wantered
|
||||
// p[1].len = 8
|
||||
|
||||
// p[2].str = relation
|
||||
// p[2].len = 8
|
||||
|
||||
// p[3].str = no
|
||||
// p[3].len = 2
|
||||
|
||||
// p[4].str = surprise
|
||||
// p[4].len = 8
|
||||
|
||||
// p[5].str = of
|
||||
// p[5].len = 2
|
||||
|
||||
// p[6].str = all
|
||||
// p[6].len = 3
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,17 @@
|
|||
# set args 0x1FF80 0x80 0x30
|
||||
# source gdb/z.py
|
||||
|
||||
import gdb
|
||||
import sys
|
||||
|
||||
# Parse arguments from the GDB command
|
||||
args = gdb.string_to_argv(gdb.parameter("args"))
|
||||
if len(args) != 3:
|
||||
print("Usage: source gdb/zero_with_params.py <start_address> <num_bytes> <pattern>")
|
||||
else:
|
||||
start_address = int(args[0], 16) # Convert start address from hex to int
|
||||
num_bytes = int(args[1], 16) # Convert number of bytes from hex to int
|
||||
pattern = int(args[2], 16) # Convert pattern from hex to int
|
||||
|
||||
for i in range(num_bytes):
|
||||
gdb.execute("set *((char*)%x + %x) = %x" % (start_address, i, pattern))
|
|
@ -0,0 +1,5 @@
|
|||
#source gdb/z.py
|
||||
|
||||
import gdb
|
||||
for i in range(0, 128): # 128 bajtów
|
||||
gdb.execute("set *((char*)(0x1FF80 + %x)) = 0xaa" % i)
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -6,15 +6,15 @@ import os
|
|||
from datetime import datetime
|
||||
|
||||
DEFAULT_CONFIG = {
|
||||
"user": "borysr",
|
||||
"email": "borysr@gmail.com",
|
||||
"user": "Denys",
|
||||
"email": "denys@mpabi.pl",
|
||||
"remotes": [{
|
||||
"name": "r", # Zaktualizowano z "default" na "mpabi"
|
||||
"protocol": "http",
|
||||
"domain": "qstack.pl",
|
||||
"port": "3000",
|
||||
"token_name": "t",
|
||||
"token": "8ee3f1b7980197aeceadee3cf4d980f817d44f06",
|
||||
"token": "a12b9583297c6bce982d9894a48714c7c2b9f73d",
|
||||
"group": "1i-2023",
|
||||
"project": "homework"
|
||||
}]
|
Binary file not shown.
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Tworzenie nowej sesji tmux o nazwie 'my_session' i wykonywanie poleceń w niej
|
||||
tmux new-session -d -s dockerr
|
||||
|
||||
# Wykonywanie poleceń w pierwszym oknie sesji
|
||||
tmux send-keys -t dockerr "cd _srvc/devops/cluster/user" C-m
|
||||
tmux send-keys -t dockerr "docker-compose up" C-m
|
||||
sleep 5 # Oczekiwanie na uruchomienie kontenerów
|
||||
|
||||
# Tworzenie nowego okna w tej samej sesji i wejście do kontenera z uruchomieniem tmux
|
||||
tmux new-window -t dockerr
|
||||
tmux send-keys -t dockerr:1 "docker exec -it user_py1_1 bash -c 'tmux new-session -d -s my_container_session && tmux split-window -h && tmux split-window -v && tmux select-pane -t 0 && tmux split-window -v && tmux select-pane -t 0 && tmux send-keys -t 0 \"cd work/cpp && vim\" C-m && tmux send-keys -t 1 \"cd work/cpp/cpp && make clean && make\" C-m && tmux send-keys -t 2 \"cd riscv/VexRiscv/src/test/cpp/murax && make run\" C-m && tmux send-keys -t 3 \"cd riscv/openocd_riscv && . ./__\" C-m && tmux attach-session -d -t my_container_session'" C-m
|
||||
|
||||
# Przełączanie na nowe okno i wejście w interaktywny tryb tmux
|
||||
tmux select-window -t dockerr:1
|
||||
tmux attach-session -t dockerr
|
Loading…
Reference in New Issue