Last active
September 9, 2015 10:41
-
-
Save coralmw/a992657e8ce32addad80 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
no malloc, so no heap? | |
def. stack size: 0x2000 == 0.008 mb | |
sizeof(actionTable_t) == 20bytes | |
400ish entries if the stack was otherwise empty? a 1mb stack would allow for < 50000 entries | |
10mb stack space perhaps? | |
#### Monday | |
Expanded stack in the linkerscript to 0xA00000 | |
remoteproc "bad phdr da 0x1e000000 mem 0xa0b840" - | |
http://lxr.free-electrons.com/source/drivers/remoteproc/remoteproc_elf_loader.c?v=3.9: | |
171 if (filesz > memsz) { | |
172 dev_err(dev, "bad phdr filesz 0x%x memsz 0x%x\n", | |
173 filesz, memsz); | |
expand the memsize alloc'd for remoteproc. probably in app_cpu1.c | |
###### | |
Tried to make, getting eros about redeclaring memory regoins. still tries to boot it but | |
######## | |
zynq_remoteproc 1e000000.remoteproc: dma_alloc_coherent err: 67108864 not enough private mem for CMA. | |
ASIDE: the mem above 0x1e000000 is hidden in devicetree.patch | |
##### because of this, whay not just get a pointer to that mem region and use it as the actionable? | |
##### curent setup: | |
2 flag locations, 1 to store the length and 1 to flag for more data | |
1 data location declared as a actiontable_t * for each row. python script loads the data into OCM, and the app_cpu1 removes it | |
###### CACHING | |
int main() | |
{ | |
while (1){ | |
//dumpcache(); | |
Xil_Out32(PINS, COMM_VAL); | |
Xil_Out32(LEDS, COMM_VAL); | |
} | |
} | |
with dumpcache, changes to COMM_VAL are seen quickly. WITHOUT dumpcache(), the LEDS never change. | |
PROBLEM: dumpcache() is a horrible hack. | |
######## | |
dumpcache is not fully working? | |
" | |
got at row tme:0 with val 3 | |
waiting for r 1 | |
got row | |
got at row timmme:4294967295 with val 2 | |
waiting for row 2 | |
got row | |
got at row time:4294967295 with val 5 | |
" | |
note doubled and missing letters. | |
############ TLB | |
http://silica.com/wcsstore/Silica/Silica+Content+Library/Silica+Home/resources/7bfb089d-bd53-431e-ba51-9fbf04fd81ab/SILICA_Xilinx_Zynq_MMU_caches_control_ver1.0.pdf | |
######## | |
included the cache.c file, got the required funcs. | |
Invalidate: drops the cache. linux crashes b/c it's last 24kb of writes went into a black hole. | |
Flush: does nothing? | |
Xil_DCacheStoreLine: | |
" | |
att___t 332helllloo, World! | |
hhhelllo,, w fffrrom prrrinttff | |
waitiiinnggg fforr 0 roows | |
goot aacttioonnn taablle | |
ttrannssllaateed ttoo nanossrunnniing | |
finishhheed | |
" | |
the linux side probably depends upon the app_cpu1 reading/writing all of the OCM in dumpcache() for it's writes to be sync'd? test. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment