Skip to content

Instantly share code, notes, and snippets.

@coralmw
Last active September 9, 2015 10:41
Show Gist options
  • Save coralmw/a992657e8ce32addad80 to your computer and use it in GitHub Desktop.
Save coralmw/a992657e8ce32addad80 to your computer and use it in GitHub Desktop.
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