Hello Ben, On Tue, Jan 23, 2018 at 3:13 AM, bin.w...@qkmtech.com <bin.w...@qkmtech.com> wrote: > hi everyone: > > i use the shell , but i get the error print as follows: > > "pthread_setspecific(shell_current_env_key)" > > so i search this problem, and find someone has asked this question before, > somebody replied as "add the two defines" > > #define CONFIGURE_UNLIMITED_OBJECTS > #define CONFIGURE_UNIFIED_WORK_AREAS > > this solve the problem as i come up with,but i do not know why? > Your code needs to configure the kernel required resources as needed by your application. In this case, the shell is using a pthread key, so it should be configuring an extra POSIX_KEY. The mentioned approach can fix the problem because it simply configures all objects without limits. A better solution is to understand how many of each kind of kernel object your application needs and to configure exactly that, so as to reduce the resource overhead. Note, though, that the unified work area means the C program heap and the kernel objects reside in the same memory, so that there is no set-aside for kernel space, so the configure unlimited is less problematic in this situation. But, you could have an allocation failure eventually.
For more details you may read https://docs.rtems.org/branches/master/c-user/configuring_a_system.html Gedare > best > ben > > > > ________________________________ > bin.w...@qkmtech.com > > _______________________________________________ > users mailing list > users@rtems.org > http://lists.rtems.org/mailman/listinfo/users _______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users